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-nommu
#
# Kconfig for uClinux(non-paged MM) depend configurations
# Hyok S. Choi <hyok.choi@samsung.com>
# 

config SET_MEM_PARAM
	bool "Set flash/sdram size and base addr"
	help
	 Say Y to manually set the base addresses and sizes.
	 otherwise, the default values are assigned.

config DRAM_BASE
	hex '(S)DRAM Base Address' if SET_MEM_PARAM
	default 0x00800000

config DRAM_SIZE
	hex '(S)DRAM SIZE' if SET_MEM_PARAM
	default 0x00800000

config FLASH_MEM_BASE
	hex 'FLASH Base Address' if SET_MEM_PARAM
	default 0x00400000

config FLASH_SIZE
	hex 'FLASH Size' if SET_MEM_PARAM
	default 0x00400000

config PROCESSOR_ID
	hex 'Hard wire the processor ID'
	default 0x00007700
	depends on !(CPU_CP15 || CPU_V7M)
	help
	  If processor has no CP15 register, this processor ID is
	  used instead of the auto-probing which utilizes the register.

config REMAP_VECTORS_TO_RAM
	bool 'Install vectors to the beginning of RAM' if DRAM_BASE
	depends on DRAM_BASE
	help
	  The kernel needs to change the hardware exception vectors.
	  In nommu mode, the hardware exception vectors are normally
	  placed at address 0x00000000. However, this region may be
	  occupied by read-only memory depending on H/W design.

	  If the region contains read-write memory, say 'n' here.

	  If your CPU provides a remap facility which allows the exception
	  vectors to be mapped to writable memory, say 'n' here.

	  Otherwise, say 'y' here.  In this case, the kernel will require
	  external support to redirect the hardware exception vectors to
	  the writable versions located at DRAM_BASE.

config ARM_MPU
       bool 'Use the ARM v7 PMSA Compliant MPU'
       depends on CPU_V7
       default y
       help
         Some ARM systems without an MMU have instead a Memory Protection
         Unit (MPU) that defines the type and permissions for regions of
         memory.

         If your CPU has an MPU then you should choose 'y' here unless you
         know that you do not want to use the MPU.
back to top