Skip to content
  1. Dec 06, 2014
  2. Dec 01, 2014
  3. Nov 27, 2014
  4. Nov 25, 2014
  5. Nov 11, 2014
  6. Nov 08, 2014
    • Sudeep Holla's avatar
      drivers: base: support cpu cache information interface to userspace via sysfs · 246246cb
      Sudeep Holla authored
      
      
      This patch adds initial support for providing processor cache information
      to userspace through sysfs interface. This is based on already existing
      implementations(x86, ia64, s390 and powerpc) and hence the interface is
      intended to be fully compatible.
      
      The main purpose of this generic support is to avoid further code
      duplication to support new architectures and also to unify all the existing
      different implementations.
      
      This implementation maintains the hierarchy of cache objects which reflects
      the system's cache topology. Cache devices are instantiated as needed as
      CPUs come online. The cache information is replicated per-cpu even if they are
      shared. A per-cpu array of cache information maintained is used mainly for
      sysfs-related book keeping.
      
      It also implements the shared_cpu_map attribute, which is essential for
      enabling both kernel and user-space to discover the system's overall cache
      topology.
      
      This patch also add the missing ABI documentation for the cacheinfo sysfs
      interface already, which is well defined and widely used.
      
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Reviewed-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Tested-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: linux-api@vger.kernel.org
      Cc: linux390@de.ibm.com
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-ia64@vger.kernel.org
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: linux-s390@vger.kernel.org
      Cc: x86@kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      246246cb
    • Sudeep Holla's avatar
      drivers: base: add cpu_device_create to support per-cpu devices · 3d52943b
      Sudeep Holla authored
      
      
      This patch adds a new function to create per-cpu devices.
      This helps in:
      1. reusing the device infrastructure to create any cpu related
         attributes and corresponding sysfs instead of creating and
         dealing with raw kobjects directly
      2. retaining the legacy path(/sys/devices/system/cpu/..) to support
         existing sysfs ABI
      3. avoiding to create links in the bus directory pointing to the
         device as there would be per-cpu instance of these devices with
         the same name since dev->bus is not populated to cpu_sysbus on
         purpose
      
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Tested-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: David Herrmann <dh.herrmann@gmail.com>
      Cc: Kay Sievers <kay@vrfy.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3d52943b
    • Sudeep Holla's avatar
      topology: replace custom attribute macros with standard DEVICE_ATTR* · d6ea8d01
      Sudeep Holla authored
      
      
      Currently couple of custom macros are defined to declare the
      device attributes. However there are already standard macros
      defined in device.h that suffice the need and these custom
      macros can be removed.
      
      This patch replaces custom attribute macros with standard
      DEVICE_ATTR_RO attribute
      
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d6ea8d01
    • Sudeep Holla's avatar
      cpumask: factor out show_cpumap into separate helper function · 5aaba363
      Sudeep Holla authored
      
      
      Many sysfs *_show function use cpu{list,mask}_scnprintf to copy cpumap
      to the buffer aligned to PAGE_SIZE, append '\n' and '\0' to return null
      terminated buffer with newline.
      
      This patch creates a new helper function cpumap_print_to_pagebuf in
      cpumask.h using newly added bitmap_print_to_pagebuf and consolidates
      most of those sysfs functions using the new helper function.
      
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Suggested-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Tested-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      Acked-by: default avatar"Rafael J. Wysocki" <rjw@rjwysocki.net>
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: x86@kernel.org
      Cc: linux-acpi@vger.kernel.org
      Cc: linux-pci@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5aaba363
    • Alex Williamson's avatar
      driver core: Fix unbalanced device reference in drivers_probe · 0372ffb3
      Alex Williamson authored
      
      
      bus_find_device_by_name() acquires a device reference which is never
      released.  This results in an object leak, which on older kernels
      results in failure to release all resources of PCI devices.  libvirt
      uses drivers_probe to re-attach devices to the host after assignment
      and is therefore a common trigger for this leak.
      
      Example:
      
      # cd /sys/bus/pci/
      # dmesg -C
      # echo 1 > devices/0000\:01\:00.0/sriov_numvfs
      # echo 0 > devices/0000\:01\:00.0/sriov_numvfs
      # dmesg | grep 01:10
       pci 0000:01:10.0: [8086:10ca] type 00 class 0x020000
       kobject: '0000:01:10.0' (ffff8801d79cd0a8): kobject_add_internal: parent: '0000:00:01.0', set: 'devices'
       kobject: '0000:01:10.0' (ffff8801d79cd0a8): kobject_uevent_env
       kobject: '0000:01:10.0' (ffff8801d79cd0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0'
       kobject: '0000:01:10.0' (ffff8801d79cd0a8): kobject_uevent_env
       kobject: '0000:01:10.0' (ffff8801d79cd0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0'
       kobject: '0000:01:10.0' (ffff8801d79cd0a8): kobject_uevent_env
       kobject: '0000:01:10.0' (ffff8801d79cd0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0'
       kobject: '0000:01:10.0' (ffff8801d79cd0a8): kobject_cleanup, parent           (null)
       kobject: '0000:01:10.0' (ffff8801d79cd0a8): calling ktype release
       kobject: '0000:01:10.0': free name
      
      [kobject freed as expected]
      
      # dmesg -C
      # echo 1 > devices/0000\:01\:00.0/sriov_numvfs
      # echo 0000:01:10.0 > drivers_probe
      # echo 0 > devices/0000\:01\:00.0/sriov_numvfs
      # dmesg | grep 01:10
       pci 0000:01:10.0: [8086:10ca] type 00 class 0x020000
       kobject: '0000:01:10.0' (ffff8801d79ce0a8): kobject_add_internal: parent: '0000:00:01.0', set: 'devices'
       kobject: '0000:01:10.0' (ffff8801d79ce0a8): kobject_uevent_env
       kobject: '0000:01:10.0' (ffff8801d79ce0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0'
       kobject: '0000:01:10.0' (ffff8801d79ce0a8): kobject_uevent_env
       kobject: '0000:01:10.0' (ffff8801d79ce0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0'
       kobject: '0000:01:10.0' (ffff8801d79ce0a8): kobject_uevent_env
       kobject: '0000:01:10.0' (ffff8801d79ce0a8): fill_kobj_path: path = '/devices/pci0000:00/0000:00:01.0/0000:01:10.0'
      
      [no free]
      
      Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0372ffb3
    • Sergey Klyaus's avatar
      driver core: fix race with userland in device_add() · 0cd75047
      Sergey Klyaus authored
      
      
      bus_add_device() should be called before devtmpfs_create_node(), so when
      userland application opens device from devtmpfs, it wouldn't get ENODEV
      from kernel, because device_add() wasn't completed.
      
      Signed-off-by: default avatarSergey Klyaus <Sergey.Klyaus@Tune-IT.Ru>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0cd75047
    • NeilBrown's avatar
      sysfs/kernfs: make read requests on pre-alloc files use the buffer. · 4ef67a8c
      NeilBrown authored
      
      
      To match the previous patch which used the pre-alloc buffer for
      writes, this patch causes reads to use the same buffer.
      This is not strictly necessary as the current seq_read() will allocate
      on first read, so user-space can trigger the required pre-alloc.  But
      consistency is valuable.
      
      The read function is somewhat simpler than seq_read() and, for example,
      does not support reading from an offset into the file: reads must be
      at the start of the file.
      
      As seq_read() does not use the prealloc buffer, ->seq_show is
      incompatible with ->prealloc and caused an EINVAL return from open().
      sysfs code which calls into kernfs always chooses the correct function.
      
      As the buffer is shared with writes and other reads, the mutex is
      extended to cover the copy_to_user.
      
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Reviewed-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4ef67a8c
    • NeilBrown's avatar
      sysfs/kernfs: allow attributes to request write buffer be pre-allocated. · 2b75869b
      NeilBrown authored
      
      
      md/raid allows metadata management to be performed in user-space.
      A various times, particularly on device failure, the metadata needs
      to be updated before further writes can be permitted.
      This means that the user-space program which updates metadata much
      not block on writeout, and so must not allocate memory.
      
      mlockall(MCL_CURRENT|MCL_FUTURE) and pre-allocation can avoid all
      memory allocation issues for user-memory, but that does not help
      kernel memory.
      Several kernel objects can be pre-allocated.  e.g. files opened before
      any writes to the array are permitted.
      However some kernel allocation happens in places that cannot be
      pre-allocated.
      In particular, writes to sysfs files (to tell md that it can now
      allow writes to the array) allocate a buffer using GFP_KERNEL.
      
      This patch allows attributes to be marked as "PREALLOC".  In that case
      the maximal buffer is allocated when the file is opened, and then used
      on each write instead of allocating a new buffer.
      
      As the same buffer is now shared for all writes on the same file
      description, the mutex is extended to cover full use of the buffer
      including the copy_from_user().
      
      The new __ATTR_PREALLOC() 'or's a new flag in to the 'mode', which is
      inspected by sysfs_add_file_mode_ns() to determine if the file should be
      marked as requiring prealloc.
      
      Despite the comment, we *do* use ->seq_show together with ->prealloc
      in this patch.  The next patch fixes that.
      
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Reviewed-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2b75869b
    • Vladimir Zapolskiy's avatar
      fs: sysfs: return EGBIG on write if offset is larger than file size · 09368960
      Vladimir Zapolskiy authored
      
      
      According to the user expectations common utilities like dd or sh
      redirection operator > should work correctly over binary files from
      sysfs. At the moment doing excessive write can not be completed:
      
        write(1, "\0\0\0\0\0\0\0\0", 8)         = 4
        write(1, "\0\0\0\0", 4)                 = 0
        write(1, "\0\0\0\0", 4)                 = 0
        write(1, "\0\0\0\0", 4)                 = 0
        ...
      
      Fix the problem by returning EFBIG described in man 2 write.
      
      Signed-off-by: default avatarVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      09368960
    • Pankaj Dubey's avatar
      kobject: fix NULL pointer derefernce in kobj_child_ns_ops · 41fb96a4
      Pankaj Dubey authored
      
      
      We will hit NULL pointer dereference if we call
      platform_device_register_simple or platform_device_add at very early
      stage. I have observed following crash when called platform_device_add
      from "init_irq" hook of machine_desc. This patch fixes this issue and
      let system handle this case gracefully instead of kernel panic.
      
      [0.000000] Unable to handle kernel NULL pointer dereference at
      virtual address 0000000c
      [0.000000] pgd = c0004000
      [0.000000] [0000000c] *pgd=00000000
      [0.000000] Internal error: Oops: 5 [#1] PREEMPT ARM
      [0.000000] Modules linked in:
      [0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G        W 3.17.0-rc6-00198-ga1603f1-dirty #319
      [0.000000] task: c05b23f0 ti: c05a8000 task.ti: c05a8000
      [0.000000] PC is at kobject_namespace+0x18/0x58
      [0.000000] LR is at kobject_add_internal+0x90/0x2ec
      [snip]
      [0.000000] [<c01b1df0>] (kobject_namespace) from [<c01b2338>] (kobject_add_internal+0x90/0x2ec)
      [0.000000] [<c01b2338>] (kobject_add_internal) from [<c01b2728>] (kobject_add+0x4c/0x98)
      [0.000000] [<c01b2728>] (kobject_add) from [<c0226274>] (device_add+0xe8/0x51c)
      [0.000000] [<c0226274>] (device_add) from [<c0229c70>] (platform_device_add+0xb4/0x214)
      [0.000000] [<c0229c70>] (platform_device_add) from [<c022a338>] (platform_device_register_full+0xb8/0xdc)
      [0.000000] [<c022a338>] (platform_device_register_full) from [<c0570214>] (exynos_init_irq+0x90/0x9c)
      [0.000000] [<c0570214>] (exynos_init_irq) from [<c056c18c>] (init_IRQ+0x2c/0x78)
      [0.000000] [<c056c18c>] (init_IRQ) from [<c0569a54>] (start_kernel+0x22c/0x378)
      [0.000000] [<c0569a54>] (start_kernel) from [<40008070>] (0x40008070)
      [0.000000] Code: e590000c e3500000 0a00000e e5903014 (e593300c)
      
      Signed-off-by: default avatarPankaj Dubey <pankaj.dubey@samsung.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      41fb96a4
  7. Nov 07, 2014
  8. Nov 04, 2014
  9. Nov 03, 2014
    • Linus Torvalds's avatar
      Linux 3.18-rc3 · 0df1f248
      Linus Torvalds authored
      0df1f248
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20141102' of git://git.infradead.org/linux-mtd · 81d92dc1
      Linus Torvalds authored
      Pull MTD fixes from Brian Norris:
       "Three main MTD fixes for 3.18:
      
         - A regression from 3.16 which was noticed in 3.17.  With the
           restructuring of the m25p80.c driver and the SPI NOR library
           framework, we omitted proper listing of the SPI device IDs.  This
           means m25p80.c wouldn't auto-load (modprobe) properly when built as
           a module.  For now, we duplicate the device IDs into both modules.
      
         - The OMAP / ELM modules were depending on an implicit link ordering.
           Use deferred probing so that the new link order (in 3.18-rc) can
           still allow for successful probing.
      
         - Fix suspend/resume support for LH28F640BF NOR flash"
      
      * tag 'for-linus-20141102' of git://git.infradead.org/linux-mtd:
        mtd: cfi_cmdset_0001.c: fix resume for LH28F640BF chips
        mtd: omap: fix mtd devices not showing up
        mtd: m25p80,spi-nor: Fix module aliases for m25p80
        mtd: spi-nor: make spi_nor_scan() take a chip type name, not spi_device_id
        mtd: m25p80: get rid of spi_get_device_id
      81d92dc1
    • Linus Torvalds's avatar
      Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · ad2be379
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a set of six patches consisting of:
         - two MAINTAINER updates
         - two scsi-mq fixs for the old parallel interface (not every request
           is tagged and we need to set the right flags to populate the SPI
           tag message)
         - a fix for a memory leak in scatterlist traversal caused by a
           preallocation update in 3.17
         - an ipv6 fix for cxgbi"
      
      [ The scatterlist fix also came in separately through the block layer tree ]
      
      * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        MAINTAINERS: ufs - remove self
        MAINTAINERS: change hpsa and cciss maintainer
        libcxgbi : support ipv6 address host_param
        scsi: set REQ_QUEUE for the blk-mq case
        Revert "block: all blk-mq requests are tagged"
        lib/scatterlist: fix memory leak with scsi-mq
      ad2be379
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 12267166
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nothing too astounding or major: radeon, i915, vmwgfx, armada and
        exynos.
      
        Biggest ones:
         - vmwgfx has one big locking regression fix
         - i915 has come displayport fixes
         - radeon has some stability and a memory alloc failure
         - armada and exynos have some vblank fixes"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (24 commits)
        drm/exynos: correct connector->dpms field before resuming
        drm/exynos: enable vblank after DPMS on
        drm/exynos: init kms poll at the end of initialization
        drm/exynos: propagate plane initialization errors
        drm/exynos: vidi: fix build warning
        drm/exynos: remove explicit encoder/connector de-initialization
        drm/exynos: init vblank with real number of crtcs
        drm/vmwgfx: Filter out modes those cannot be supported by the current VRAM size.
        drm/vmwgfx: Fix hash key computation
        drm/vmwgfx: fix lock breakage
        drm/i915/dp: only use training pattern 3 on platforms that support it
        drm/radeon: remove some buggy dead code
        drm/i915: Ignore VBT backlight check on Macbook 2, 1
        drm/radeon: remove invalid pci id
        drm/radeon: dpm fixes for asrock systems
        radeon: clean up coding style differences in radeon_get_bios()
        drm/radeon: Use drm_malloc_ab instead of kmalloc_array
        drm/radeon/dpm: disable ulv support on SI
        drm/i915: Fix GMBUSFREQ on vlv/chv
        drm/i915: Ignore long hpds on eDP ports
        ...
      12267166
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 3c43de0f
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       - add the new bpf syscall to ARM.
       - drop a redundant return statement in __iommu_alloc_remap()
       - fix a performance issue noticed by Thomas Petazzoni with
         kmap_atomic().
       - fix an issue with the L2 cache OF parsing code which caused it to
         incorrectly print warnings on each boot, and make the warning text
         more consistent with the rest of the code
      
      * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        ARM: 8180/1: mm: implement no-highmem fast path in kmap_atomic_pfn()
        ARM: 8183/1: l2c: Improve l2c310_of_parse() error message
        ARM: 8181/1: Drop extra return statement
        ARM: 8182/1: l2c: Make l2x0_cache_size_of_parse() return 'int'
        ARM: enable bpf syscall
      3c43de0f
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 7501a533
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "A small set of x86 fixes.  The most serious is an SRCU lockdep fix.
      
        A bit late - needed some time to test the SRCU fix, which only came in
        on Friday"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: vmx: defer load of APIC access page address during reset
        KVM: nVMX: Disable preemption while reading from shadow VMCS
        KVM: x86: Fix far-jump to non-canonical check
        KVM: emulator: fix execution close to the segment limit
        KVM: emulator: fix error code for __linearize
      7501a533
    • Dave Airlie's avatar
      Merge branch 'exynos-drm-fixes' of... · 66338fee
      Dave Airlie authored
      Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-fixes
      
      This pull-request includes some bug fixes and code cleanups.
      Especially, this fixes the bind failure issue occurred when it tries
      to re-bind Exynos drm driver after unbound, and the modetest failure
      issue incurred by not having a pair to vblank on and off requests.
      
      * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
        drm/exynos: correct connector->dpms field before resuming
        drm/exynos: enable vblank after DPMS on
        drm/exynos: init kms poll at the end of initialization
        drm/exynos: propagate plane initialization errors
        drm/exynos: vidi: fix build warning
        drm/exynos: remove explicit encoder/connector de-initialization
        drm/exynos: init vblank with real number of crtcs
      66338fee
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 7e05b807
      Linus Torvalds authored
      Pull VFS fixes from Al Viro:
       "A bunch of assorted fixes, most of them followups to overlayfs merge"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ovl: initialize ->is_cursor
        Return short read or 0 at end of a raw device, not EIO
        isofs: don't bother with ->d_op for normal case
        isofs_cmp(): we'll never see a dentry for . or ..
        overlayfs: fix lockdep misannotation
        ovl: fix check for cursor
        overlayfs: barriers for opening upper-layer directory
        rcu: Provide counterpart to rcu_dereference() for non-RCU situations
        staging: android: logger: Fix log corruption regression
      7e05b807
    • Linus Torvalds's avatar
      irda: stop calling sk_prot->disconnect() on connection failure · 4cb8c359
      Linus Torvalds authored
      
      
      The sk_prot is irda's own set of protocol handlers, so irda should
      statically know what that function is anyway, without using an indirect
      pointer.  And as it happens, we know *exactly* what that pointer is
      statically: it's NULL, because irda doesn't define a disconnect
      operation.
      
      So calling that function is doubly wrong, and will just cause an oops.
      
      Reported-by: default avatarMartin Lang <mlg.hessigheim@gmail.com>
      Cc: Samuel Ortiz <samuel@sortiz.org>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4cb8c359
    • Andrzej Hajda's avatar
      drm/exynos: correct connector->dpms field before resuming · 74cfe07a
      Andrzej Hajda authored
      
      
      During system suspend after connector switch off its dpms field
      is set to connector previous dpms state. To properly resume dpms field
      should be set to its actual state (off) before resuming to previous dpms state.
      
      Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      74cfe07a
    • Andrzej Hajda's avatar
      drm/exynos: enable vblank after DPMS on · d6948b2f
      Andrzej Hajda authored
      
      
      Before DPMS off driver disables vblank.
      It should be balanced by vblank enable after DPMS on.
      The patch fixes issue with page_flip ioctl not being able
      to acquire vblank counter introduced by patch:
      drm: Always reject drm_vblank_get() after drm_vblank_off()
      
      Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      d6948b2f
    • Andrzej Hajda's avatar
      drm/exynos: init kms poll at the end of initialization · 3cb6830a
      Andrzej Hajda authored
      
      
      HPD events can be generated by components even if drm_dev is not fully
      initialized, to skip such events kms poll initialization should
      be performed at the end of load callback followed directly by forced
      connection detection.
      
      Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      3cb6830a
    • Andrzej Hajda's avatar
      drm/exynos: propagate plane initialization errors · 64f7aed8
      Andrzej Hajda authored
      
      
      In case of error during plane initialization load callback
      incorrectly return success, this patch fixes it.
      
      Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      64f7aed8
    • Inki Dae's avatar
      drm/exynos: vidi: fix build warning · 9887e2d9
      Inki Dae authored
      
      
      encoder object isn't used anymore so remove it.
      
      Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
      9887e2d9