drm/exynos: use drm_calloc_large when allocates pointer array

If the type of object is pointer array, the drm_calloc_large() is
more suitable than kzalloc() for its allocation function. And uses
drm_free_large() instead of kfree() also.

Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drm/exynos: fix pages allocation size in lowlevel_buffer_allocate

When IOMMU is not supported, buf->pages has to be allocated to
assign the result of phys_to_page() which return type is struct
page *. So it is sufficient to allocate buf->pages with the size
of multiple struct page pointers.

Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
drm: modify pages_to_sg prime helper to create optimized SG table

It fixes the issue arises due to passing 'nr_pages' in place of 'nents' to
sg_alloc_table. When ARM_HAS_SG_CHAIN is disabled, it is causing failure in
creating SG table for the buffers having more than 204 physical pages i.e.
equal to SG_MAX_SINGLE_ALLOC.

When using sg_alloc_table_from_pages interface, in place of sg_alloc_table,
page list will be passes to get each contiguous section which is represented
by a single entry in the table. For a Contiguous Buffer, number of entries
should be equal to 1.

Following check is causing the failure which is not applicable for Non-Contig
buffers:

	if (WARN_ON_ONCE(nents > max_ents))
		return -EINVAL;

Above patch is well tested for EXYNOS4 and EXYNOS5 for with/wihtout IOMMU
supprot. NOUVEAU and RADEON platforms also depends on drm_prime_pages_to_sg
helper function.

This set is base on "exynos-drm-fixes" branch at
http://git.kernel.org/?p=linux/kernel/git/daeinki/drm-exynos.git

Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
Acked-by: Dave Airlie <airlied@gmail.com>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
Tested-by: Aaron Plattner <aplattner@nvidia.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Enable exynos-drm on odroid

The following changes were needed:

1. The new driver needs to talk to the DDC on the remote connected TV,
   to obtain the EDID and detect supported resolutions. This is an i2c device.
   According to Odroid-U2 schematics, this connection is made to I2C2, so we
   set up the I2C2 adapter and bus appropriately.

2. The old driver uses functionality of the samsung HDMI interface to detect
   cable presence. The new driver only accepts GPIO to do this.

3. Board file provides a exynos4-hdmi device, which exynos-drm interprets
   as a HDMI 1.3 device. In that configuration, the pll did not settle, and
   there was no image output. Had to tweak things so that it would get
   recognised as HDMI 1.4.
thermal: do not shutdown in case a miss-reading temperature. SoC has this protection hardwired inside of it
ARM: mach-hkdk4412: change the init order of the FIMD/DRM
DRM: exynos: Adding mali needed hardwires inside of it
defconfigs: delete old u2_mfc_test defconfig
disabled s5p-tv and vb2-fb (finally)
disabled s5p-g2d
enabled exynos_drm_hdmi
enabled exynos_drm_g2d
enabled exynos_drm_cma
Merge branch 'odroid-3.8.y' of git.odroid.in:odroid/linux into odroid-3.8.y