1. 17 11月, 2015 26 次提交
  2. 13 11月, 2015 7 次提交
    • M
      Revert "drm/rockchip: Convert the probe function to the generic drm_of_component_probe()" · 5bad7d29
      Mark Yao 提交于
      This reverts commit 52f5eb60.
      
      Rockchip drm can't work with generic drm_of_component_probe now
      Signed-off-by: NMark Yao <mark.yao@rock-chips.com>
      Acked-by: NLiviu Dudau <Liviu.Dudau@arm.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      5bad7d29
    • V
      drm: Don't oops in drm_calc_timestamping_constants() if drm_vblank_init() wasn't called · 0c545ac4
      Ville Syrjälä 提交于
      Seems the crtc helpers call drm_calc_timestamping_constants()
      unconditionally even if the driver didn't initialize vblank support by
      calling drm_vblank_init(). That used to be OK since the constants were
      stored under drm_crtc.
      
      However I broke this with
      commit eba1f35d ("drm: Move timestamping constants into drm_vblank_crtc")
      when I moved the constants to live inside the drm_vblank_crtc struct
      instead. If drm_vblank_init() isn't called, we don't allocate these
      structures, and so drm_calc_timestamping_constants() will oops.
      
      Fix it by adding a check into drm_calc_timestamping_constants() to see
      if vblank support was initialized at all. And to keep in line with other
      such checks, also toss in a check and warn for the case where vblank
      support was initialized, but the wrong number of crtcs was specified.
      
      Fixes the following sort of oops:
       BUG: unable to handle kernel NULL pointer dereference at 00000000000000b0
       IP: [<ffffffffa014b266>] drm_calc_timestamping_constants+0x86/0x130 [drm]
       PGD 0
       Oops: 0002 [#1] SMP
       Modules linked in: sr_mod cdrom mgag200(+) i2c_algo_bit drm_kms_helper ahci syscopyarea sysfillrect sysimgblt libahci fb_sys_fops bnx2x ttm tg3(+) mdio drm ptp sd_mod libata i2c_core pps_core libcrc32c hpsa dm_mirror dm_region_hash dm_log dm_mod
       CPU: 0 PID: 418 Comm: kworker/0:2 Not tainted 4.3.0+ #1
       Hardware name: HP ProLiant DL380 Gen9, BIOS P89 06/09/2015
       Workqueue: events work_for_cpu_fn
       task: ffff88046ca95500 ti: ffff88007830c000 task.ti: ffff88007830c000
       RIP: 0010:[<ffffffffa014b266>]  [<ffffffffa014b266>] drm_calc_timestamping_constants+0x86/0x130 [drm]
       RSP: 0018:ffff88007830f4e8  EFLAGS: 00010246
       RAX: 0000000000fe4c00 RBX: ffff88006a849160 RCX: 0000000000000540
       RDX: 0000000000000000 RSI: 000000000000fde8 RDI: ffff88006a849000
       RBP: ffff88007830f518 R08: ffff88007830c000 R09: 00000001b87e3712
       R10: 00000000000050c4 R11: 0000000000000000 R12: 0000000000fe4c00
       R13: ffff88006a849000 R14: 0000000000000000 R15: 000000000000fde8
       FS:  0000000000000000(0000) GS:ffff88046f800000(0000) knlGS:0000000000000000
       CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
       CR2: 00000000000000b0 CR3: 00000000019d6000 CR4: 00000000001406f0
       Stack:
        ffff88007830f518 ffff88006a849000 ffff880c69b90340 ffff880c69b90000
        ffff880c69b90348 ffff880c69b90340 ffff88007830f748 ffffffffa042f7e7
        ffff88006a849090 0000000000000000 ffff88006a849160 0000000000000000
       Call Trace:
        [<ffffffffa042f7e7>] drm_crtc_helper_set_mode+0x3d7/0x4b0 [drm_kms_helper]
        [<ffffffffa04307d4>] drm_crtc_helper_set_config+0x8d4/0xb10 [drm_kms_helper]
        [<ffffffffa01548d4>] drm_mode_set_config_internal+0x64/0x100 [drm]
        [<ffffffffa043c342>] drm_fb_helper_pan_display+0xa2/0x280 [drm_kms_helper]
        [<ffffffff81392c7b>] fb_pan_display+0xbb/0x170
        [<ffffffff8138cf70>] bit_update_start+0x20/0x50
        [<ffffffff8138b81b>] fbcon_switch+0x39b/0x590
        [<ffffffff8140a3d0>] redraw_screen+0x1a0/0x240
        [<ffffffff8140b30e>] do_bind_con_driver+0x2ee/0x310
        [<ffffffff8140b651>] do_take_over_console+0x141/0x1b0
        [<ffffffff81387377>] do_fbcon_takeover+0x57/0xb0
        [<ffffffff8138c98b>] fbcon_event_notify+0x60b/0x750
        [<ffffffff810a5599>] notifier_call_chain+0x49/0x70
        [<ffffffff810a58dd>] __blocking_notifier_call_chain+0x4d/0x70
        [<ffffffff810a5916>] blocking_notifier_call_chain+0x16/0x20
        [<ffffffff8139282b>] fb_notifier_call_chain+0x1b/0x20
        [<ffffffff81394881>] register_framebuffer+0x1f1/0x330
        [<ffffffffa043d9aa>] drm_fb_helper_initial_config+0x27a/0x3d0 [drm_kms_helper]
        [<ffffffffa0469b4d>] mgag200_fbdev_init+0xdd/0xf0 [mgag200]
        [<ffffffffa0468586>] mgag200_modeset_init+0x176/0x1e0 [mgag200]
        [<ffffffffa0464659>] mgag200_driver_load+0x3f9/0x580 [mgag200]
        [<ffffffffa014e067>] drm_dev_register+0xa7/0xb0 [drm]
        [<ffffffffa015054f>] drm_get_pci_dev+0x8f/0x1e0 [drm]
        [<ffffffffa046937b>] mga_pci_probe+0x9b/0xc0 [mgag200]
        [<ffffffff813662d5>] local_pci_probe+0x45/0xa0
        [<ffffffff8109afe4>] work_for_cpu_fn+0x14/0x20
        [<ffffffff8109e13c>] process_one_work+0x14c/0x3c0
        [<ffffffff8109eaa4>] worker_thread+0x244/0x470
        [<ffffffff8168bfba>] ? __schedule+0x2aa/0x760
        [<ffffffff8109e860>] ? rescuer_thread+0x310/0x310
        [<ffffffff810a4438>] kthread+0xd8/0xf0
        [<ffffffff810a4360>] ? kthread_park+0x60/0x60
        [<ffffffff8169030f>] ret_from_fork+0x3f/0x70
        [<ffffffff810a4360>] ? kthread_park+0x60/0x60
       Code: f6 31 d2 41 89 c2 8b 83 b4 00 00 00 0f af c1 48 98 48 69 c0 40 42 0f 00 48 f7 f6 f6 43 74 10 41 89 c4 75 26 f6 05 9a 6f 03 00 01 <45> 89 96 b0 00 00 00 45 89 a6 ac 00 00 00 75 35 48 83 c4 08 5b
       RIP  [<ffffffffa014b266>] drm_calc_timestamping_constants+0x86/0x130 [drm]
        RSP <ffff88007830f4e8>
       CR2: 00000000000000b0
      
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Reported-by: NJeff Moyer <jmoyer@redhat.com>
      References: http://lists.freedesktop.org/archives/dri-devel/2015-November/094217.html
      Fixes: eba1f35d ("drm: Move timestamping constants into drm_vblank_crtc")
      Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      0c545ac4
    • D
      Merge tag 'topic/drm-fixes-2015-11-11' of git://anongit.freedesktop.org/drm-intel into drm-fixes · 9589fcde
      Dave Airlie 提交于
      Single fix for uapi.
      
      * tag 'topic/drm-fixes-2015-11-11' of git://anongit.freedesktop.org/drm-intel:
        drm: Use userspace compatible type in fourcc_mod_code macro
      9589fcde
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · a18e2fa5
      Linus Torvalds 提交于
      Pull arm64 fixes and clean-ups from Catalin Marinas:
       "Here's a second pull request for this merging window with some
        fixes/clean-ups:
      
         - __cmpxchg_double*() return type fix to avoid truncation of a long
           to int and subsequent logical "not" in cmpxchg_double()
           misinterpreting the operation success/failure
      
         - BPF fixes for mod and div by zero
      
         - Fix compilation with STRICT_MM_TYPECHECKS enabled
      
         - VDSO build fix without libgcov
      
         - Some static and __maybe_unused annotations
      
         - Kconfig clean-up (FRAME_POINTER)
      
         - defconfig update for CRYPTO_CRC32_ARM64"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: suspend: make hw_breakpoint_restore static
        arm64: mmu: make split_pud and fixup_executable static
        arm64: smp: make of_parse_and_init_cpus static
        arm64: use linux/types.h in kvm.h
        arm64: build vdso without libgcov
        arm64: mark cpus_have_hwcap as __maybe_unused
        arm64: remove redundant FRAME_POINTER kconfig option and force to select it
        arm64: fix R/O permissions of FDT mapping
        arm64: fix STRICT_MM_TYPECHECKS issue in PTE_CONT manipulation
        arm64: bpf: fix mod-by-zero case
        arm64: bpf: fix div-by-zero case
        arm64: Enable CRYPTO_CRC32_ARM64 in defconfig
        arm64: cmpxchg_dbl: fix return value type
      a18e2fa5
    • L
      Merge tag 'for-4.4' of git://git.osdn.jp/gitroot/uclinux-h8/linux · 7dac7102
      Linus Torvalds 提交于
      Pull h8300 updates from Yoshinori Sato:
       "Some bug fixes"
      
      * tag 'for-4.4' of git://git.osdn.jp/gitroot/uclinux-h8/linux:
        h8300: enable CLKSRC_OF
        h8300: Don't set CROSS_COMPILE unconditionally
        asm-generic: {get,put}_user ptr argument evaluate only 1 time
        h8300: bit io fix
        h8300: zImage fix
        h8300: register address fix
        h8300: Fix alignment for .data
        h8300: unaligned divcr register support.
      7dac7102
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 3370b69e
      Linus Torvalds 提交于
      Pull second batch of kvm updates from Paolo Bonzini:
       "Four changes:
      
         - x86: work around two nasty cases where a benign exception occurs
           while another is being delivered.  The endless stream of exceptions
           causes an infinite loop in the processor, which not even NMIs or
           SMIs can interrupt; in the virt case, there is no possibility to
           exit to the host either.
      
         - x86: support for Skylake per-guest TSC rate.  Long supported by
           AMD, the patches mostly move things from there to common
           arch/x86/kvm/ code.
      
         - generic: remove local_irq_save/restore from the guest entry and
           exit paths when context tracking is enabled.  The patches are a few
           months old, but we discussed them again at kernel summit.  Andy
           will pick up from here and, in 4.5, try to remove it from the user
           entry/exit paths.
      
         - PPC: Two bug fixes, see merge commit 37028975 for details"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (21 commits)
        KVM: x86: rename update_db_bp_intercept to update_bp_intercept
        KVM: svm: unconditionally intercept #DB
        KVM: x86: work around infinite loop in microcode when #AC is delivered
        context_tracking: avoid irq_save/irq_restore on guest entry and exit
        context_tracking: remove duplicate enabled check
        KVM: VMX: Dump TSC multiplier in dump_vmcs()
        KVM: VMX: Use a scaled host TSC for guest readings of MSR_IA32_TSC
        KVM: VMX: Setup TSC scaling ratio when a vcpu is loaded
        KVM: VMX: Enable and initialize VMX TSC scaling
        KVM: x86: Use the correct vcpu's TSC rate to compute time scale
        KVM: x86: Move TSC scaling logic out of call-back read_l1_tsc()
        KVM: x86: Move TSC scaling logic out of call-back adjust_tsc_offset()
        KVM: x86: Replace call-back compute_tsc_offset() with a common function
        KVM: x86: Replace call-back set_tsc_khz() with a common function
        KVM: x86: Add a common TSC scaling function
        KVM: x86: Add a common TSC scaling ratio field in kvm_vcpu_arch
        KVM: x86: Collect information for setting TSC scaling ratio
        KVM: x86: declare a few variables as __read_mostly
        KVM: x86: merge handle_mmio_page_fault and handle_mmio_page_fault_common
        KVM: PPC: Book3S HV: Don't dynamically split core when already split
        ...
      3370b69e
    • L
      Merge tag 'pm+acpi-4.4-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · be23c9d2
      Linus Torvalds 提交于
      Pull more power management and ACPI updates from Rafael Wysocki:
       "The only new feature in this batch is support for the ACPI _CCA device
        configuration object, which it a pre-requisite for future ACPI PCI
        support on ARM64, but should not affect the other architectures.
      
        The rest is fixes and cleanups, mostly in cpufreq (including
        intel_pstate), the Operating Performace Points (OPP) framework and
        tools (cpupower and turbostat).
      
        Specifics:
      
         - Support for the ACPI _CCA configuration object intended to tell the
           OS whether or not a bus master device supports hardware managed
           cache coherency and a new set of functions to allow drivers to
           check the cache coherency support for devices in a platform
           firmware interface agnostic way (Suravee Suthikulpanit, Jeremy
           Linton).
      
         - ACPI backlight quirks for ESPRIMO Mobile M9410 and Dell XPS L421X
           (Aaron Lu, Hans de Goede).
      
         - Fixes for the arm_big_little and s5pv210-cpufreq cpufreq drivers
           (Jon Medhurst, Nicolas Pitre).
      
         - kfree()-related fixup for the recently introduced CPPC cpufreq
           frontend (Markus Elfring).
      
         - intel_pstate fix reducing kernel log noise on systems where
           P-states are managed by hardware (Prarit Bhargava).
      
         - intel_pstate maintainers information update (Srinivas Pandruvada).
      
         - cpufreq core optimization related to the handling of delayed work
           items used by governors (Viresh Kumar).
      
         - Locking fixes and cleanups of the Operating Performance Points
           (OPP) framework (Viresh Kumar).
      
         - Generic power domains framework cleanups (Lina Iyer).
      
         - cpupower tool updates (Jacob Tanenbaum, Sriram Raghunathan, Thomas
           Renninger).
      
         - turbostat tool updates (Len Brown)"
      
      * tag 'pm+acpi-4.4-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
        PCI: ACPI: Add support for PCI device DMA coherency
        PCI: OF: Move of_pci_dma_configure() to pci_dma_configure()
        of/pci: Fix pci_get_host_bridge_device leak
        device property: ACPI: Remove unused DMA APIs
        device property: ACPI: Make use of the new DMA Attribute APIs
        device property: Adding DMA Attribute APIs for Generic Devices
        ACPI: Adding DMA Attribute APIs for ACPI Device
        device property: Introducing enum dev_dma_attr
        ACPI: Honor ACPI _CCA attribute setting
        cpufreq: CPPC: Delete an unnecessary check before the function call kfree()
        PM / OPP: Add opp_rcu_lockdep_assert() to _find_device_opp()
        PM / OPP: Hold dev_opp_list_lock for writers
        PM / OPP: Protect updates to list_dev with mutex
        PM / OPP: Propagate error properly from dev_pm_opp_set_sharing_cpus()
        cpufreq: s5pv210-cpufreq: fix wrong do_div() usage
        MAINTAINERS: update for intel P-state driver
        Creating a common structure initialization pattern for struct option
        cpupower: Enable disabled Cstates if they are below max latency
        cpupower: Remove debug message when using cpupower idle-set -D switch
        cpupower: cpupower monitor reports uninitialized values for offline cpus
        ...
      be23c9d2
  3. 12 11月, 2015 7 次提交