Revision 31a55cf145f2e3d74a7488e86bd0b33b64250fce authored by Dave Airlie on 19 March 2015, 04:01:42 UTC, committed by Dave Airlie on 19 March 2015, 04:01:42 UTC
   Some urgent regression fixes to booting failures Exynos DRM occured.

   Summary:
   - Fix two urgent null pointer dereference bugs in case of enabling
     or disabling IOMMU. There was two cases to these issues.
     One is that plane->crtc is accessed by exynos_disable_plane()
     when device tree binding is broken so device driver tries
     to release, which means that the mode set operation isn't invoked yet
     so plane->crtc is still NULL and exynos_disable_plane() will access
     NULL pointer. This issue is fixed by checking if the plane->crtc
     is NULL or not in exynos_disable_plane()

     Other is that fimd_wait_for_vblank() is called to avoid from page fault
     with IOMMU before the ctx object is created. At this time,
     fimd_wait_for_vblank() tries to access ctx->crtc but the ctx->crtc
     is still NULL because exynos_drm_crtc_create() isn't called yet.
     This issue is fixed by creating a crtc object and setting it to
     ctx->crtc prior to fimd_wait_for_vblank() call.

     For more details, you can refer to below an e-mail thread,
     http://www.spinics.net/lists/linux-samsung-soc/msg42436.html

   - Remove unnecessary file not used and fix trivial issues.

* 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
  drm/exynos: fix the initialization order in FIMD
  drm/exynos: fix typo config name correctly.
  drm/exynos: Check for NULL dereference of crtc
  drm/exynos: IS_ERR() vs NULL bug
  drm/exynos: remove unused files
2 parent s 59caeae + cdbfca8
Raw File
Kconfig
menu "Machine selection"

config SCORE
       def_bool y
       select GENERIC_IRQ_SHOW
       select GENERIC_IOMAP
       select GENERIC_ATOMIC64
       select HAVE_MEMBLOCK
       select HAVE_MEMBLOCK_NODE_MAP
       select ARCH_DISCARD_MEMBLOCK
       select GENERIC_CPU_DEVICES
       select GENERIC_CLOCKEVENTS
       select HAVE_MOD_ARCH_SPECIFIC
	select VIRT_TO_BUS
	select MODULES_USE_ELF_REL
	select CLONE_BACKWARDS

choice
	prompt "System type"
	default MACH_SPCT6600

config ARCH_SCORE7
	bool "SCORE7 processor"
	select SYS_SUPPORTS_32BIT_KERNEL

config MACH_SPCT6600
	bool "SPCT6600 series based machines"
	select SYS_SUPPORTS_32BIT_KERNEL

config SCORE_SIM
	bool "Score simulator"
	select SYS_SUPPORTS_32BIT_KERNEL
endchoice

endmenu

config NO_DMA
	bool
	default y

config RWSEM_GENERIC_SPINLOCK
	def_bool y

config GENERIC_HWEIGHT
	def_bool y

config GENERIC_CALIBRATE_DELAY
	def_bool y

menu "Kernel type"

config 32BIT
	def_bool y

config ARCH_FLATMEM_ENABLE
	def_bool y

source "mm/Kconfig"

config MEMORY_START
	hex
	default	0xa0000000

source "kernel/Kconfig.hz"
source "kernel/Kconfig.preempt"

endmenu

config RWSEM_GENERIC_SPINLOCK
	def_bool y

config LOCKDEP_SUPPORT
	def_bool y

config STACKTRACE_SUPPORT
	def_bool y

source "init/Kconfig"

source "kernel/Kconfig.freezer"

config MMU
	def_bool y

menu "Executable file formats"

source "fs/Kconfig.binfmt"

endmenu

source "net/Kconfig"

source "drivers/Kconfig"

source "fs/Kconfig"

source "arch/score/Kconfig.debug"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

config NO_IOMEM
       def_bool y
back to top