aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-12-02drm/gm204/disp: initial supportBen Skeggs8-1/+255
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/gf110-/disp: magic that might help some tmds issuesBen Skeggs1-2/+10
The binary driver has been doing this since GF119, and we've somehow gotten away with it. But, TMDS that hasn't been initialised already by the x86 vbios code is distorted without it on GM204. Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: support for opcodes 0x47/0x48Ben Skeggs1-0/+36
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: add support for udisp 2.2Ben Skeggs1-0/+1
Not entirely sure why this got bumped at all yet. Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: add support for dp 4.1Ben Skeggs1-1/+9
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/i2c: add support for DCB_I2C_PMGR port typeBen Skeggs1-0/+12
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: add support for ccb 4.1Ben Skeggs2-7/+25
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: add support for dcb 4.1Ben Skeggs1-12/+15
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/gm204/i2c: add aux channel driverBen Skeggs7-3/+233
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/gm204/i2c: add pad driverBen Skeggs3-0/+88
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/i2c: segregate aux channel adapter indices from bit-banged i2cBen Skeggs5-3/+15
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: store aux addr independently of i2cBen Skeggs4-41/+73
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nv50-/i2c: kill some unused struct membersBen Skeggs3-15/+0
Left-over from before a rework a while back. Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: log if auxch accesses fail, also return 0x00 from rd when ↵Ben Skeggs1-7/+11
it does Logging at trace level, rather than as en error, as it seems conceivable that failure could be normal under certain circumstances (new bios, older sink that doesn't support a particular DPCD address) Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/gm204/devinit: initial implementationBen Skeggs5-1/+178
Starting from GM204, certain registers are no longer accessible by the host (or unsigned PMU firmware). This commit implements devinit on PMU, using a signed microcode image, and devinit data, from the VBIOS. Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/devinit: allow impl to select its own cold-boot methodBen Skeggs14-3/+15
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: add parsing of pmu image tablesBen Skeggs3-0/+173
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: recognise nv-specific rom/pcir signaturesBen Skeggs2-0/+2
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: use NPDE to locate images beyond those defined by PCIRBen Skeggs1-0/+7
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: add NPDE parsingBen Skeggs3-0/+72
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: fetch images beyond the first one in the romBen Skeggs1-4/+7
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: use size/type from pci data structureBen Skeggs1-2/+8
The field at +0x2 is technically processor specific, though I don't know that it's ever mattered in practice (yet). Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: add pci data structure parsingBen Skeggs3-0/+86
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: split out shadow methodsBen Skeggs11-354/+856
We're about to need to be able to fetch additional chunks of data beyond the primary bios image, which makes fetching a lot more complicated. This splits out the verious shadowing routines to be nothing more than very dumb "fetch this much data from this offset" routines, and leaves the logic of what and how much to fetch in common code. Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau/bios: fix thinko when parsing extdev tableBen Skeggs1-1/+1
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02drm/nouveau: a, somehow, missed hunk of "fix regression on agp boards"Ben Skeggs1-6/+1
Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02soc/tegra: fuse: export tegra_sku_infoVince Hsu1-0/+1
Some Tegra drivers might be compiled as kernel modules, and they need the fuse information for initialization. One example is the GK20A Nouveau driver. It needs the GPU speedo value to calculate frequency-voltage table. So export the tegra_sku_info. Signed-off-by: Vince Hsu <[email protected]> Acked-by: Alexandre Courbot <[email protected]> Acked-by: Thierry Reding <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2014-12-02ARM: shmobile: marzen: Remove DU platform deviceLaurent Pinchart1-58/+0
Platform data support has been removed from the DU driver, drop DU support from the legacy Marzen board file. The multiplatform DT-based Marzen support should be used instead. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Simon Horman <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-12-02ARM: shmobile: lager: Remove DU platform deviceLaurent Pinchart1-58/+0
Platform data support has been removed from the DU driver, drop DU support from the legacy Lager board file. The multiplatform DT-based Lager support should be used instead. Signed-off-by: Laurent Pinchart <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Acked-by: Simon Horman <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-11-27Merge branch 'drm/du/adv7511' of git://linuxtv.org/pinchartl/fbdev into drm-nextDave Airlie77-524/+2232
The branch is based on a merge of drm-next and Simon's tags/renesas-dt-du-for- v3.19 available at git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git, the latter having been pulled in the ARM SoC tree for v3.19. Compared to v1, I've rebased my branch on a later drm-next, added Julia's error return code fix, and documented the "drm: Decouple EDID parsing from I2C adapter" patch properly. v1: Here's a pull request that adds HDMI support to the R-Car DU driver, including a new slave encoder driver for the adv7511. * 'drm/du/adv7511' of git://linuxtv.org/pinchartl/fbdev: drm: Add adv7511 encoder driver video: Add ADV751[13] DT bindings documentation drm: Decouple EDID parsing from I2C adapter drm: rcar-du: Add HDMI encoder and connector support drm: rcar-du: Replace drm_encoder with drm_slave_encoder drm: rcar-du: Replace direct DRM encoder access with cast macro drm: rcar-du: Pass the encoder DT node to rcar_du_encoder_init() drm: rcar-du: Remove platform data support drm: rcar-du: fix error return code ARM: shmobile: koelsch: Enable DU device in DT ARM: shmobile: koelsch-reference: Remove DU platform device ARM: shmobile: lager: Enable DU device in DT ARM: shmobile: lager-reference: Remove DU platform device ARM: shmobile: marzen: Enable DU device in DT ARM: shmobile: dts: Add common file for AA104XD12 panel ARM: shmobile: r8a7791: Add DU node to device tree ARM: shmobile: r8a7790: Add DU node to device tree ARM: shmobile: r8a7779: Add DU node to device tree ARM: shmobile: Remove FSF address from copyright headers
2014-11-27Merge branch 'amdkfd-next-3.19' of ↵Dave Airlie12-64/+76
git://people.freedesktop.org/~gabbayo/linux into drm-next - Fixes for sparse warnings - Memory leak fixes - Fix for deadlock between amdkfd and iommu * 'amdkfd-next-3.19' of git://people.freedesktop.org/~gabbayo/linux: amdkfd: delete some dead code amdkfd: Fix memory leak of mqds on dqm fini amdkfd: fix an error handling bug in pqm_create_queue() amdkfd: fix some error handling in ioctl amdkfd: Remove DRM_AMDGPU dependency from Kconfig amdkfd: explicitely include io.h in kfd_doorbell.c amdkfd: Clear ctx cb before suspend amdkfd: Instead of using get function, use container_of amdkfd: use schedule() in sync_with_hw amdkfd: Fix memory leak on process deregistration amdkfd: add __iomem attribute to doorbell_ptr amdkfd: fence_wait_timeout() can be static amdkfd: is_occupied() can be static amdkfd: Fix sparse warnings in kfd_flat_memory.c amdkfd: pqm_get_kernel_queue() can be static amdkfd: test_kq() can be static amdkfd: Fix sparse warnings in kfd_topology.c amdkfd: Fix sparse warnings in kfd_chardev.c
2014-11-26drm: Add adv7511 encoder driverLars-Peter Clausen4-0/+1307
This patch adds a driver for the Analog Devices adv7511. The adv7511 is a standalone HDMI transmitter chip. It features a HDMI output interface on one end and video and audio input interfaces on the other. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2014-11-26video: Add ADV751[13] DT bindings documentationLaurent Pinchart1-0/+88
The ADV7511, ADV7511W and ADV7513 are HDMI audio and video transmitters compatible with HDMI 1.4 and DVI 1.0. They're described in DT using the OF graph bindings and a list of custom properties pertaining to the input video bus configuration. Signed-off-by: Laurent Pinchart <[email protected]>
2014-11-26drm: Decouple EDID parsing from I2C adapterLars-Peter Clausen2-13/+35
The drm_get_edid() function performs direct I2C accesses to read EDID blocks, assuming that the monitor DDC interface is directly connected to the I2C bus. It can't thus be used with HDMI encoders that control the DDC bus and expose EDID blocks through a different interface. Refactor drm_do_get_edid() to take a block read callback function instead of an I2C adapter, and export it for direct use by drivers. As in the general case the DDC bus is accessible by the kernel at the I2C level, drivers must make all reasonable efforts to expose it as an I2C adapter and use drm_get_edid() instead of abusing this function. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]> Reviewed-by: Rob Clark <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
2014-11-26drm: rcar-du: Add HDMI encoder and connector supportLaurent Pinchart9-7/+375
SoCs that integrate the DU have no internal HDMI encoder, support external encoders only. Signed-off-by: Laurent Pinchart <[email protected]>
2014-11-26drm: rcar-du: Replace drm_encoder with drm_slave_encoderLaurent Pinchart1-3/+4
DRM slave encoders require their associated struct drm_encoder instance to be embedded in a struct drm_slave_encoder. This makes processing encoders regardless of their types needlessly and painfully complex in drivers that use a mix of slave encoders and custom encoders. Such a driver will need to either create drm_slave_encoder instances that fake their embedded encoder instance, or to turn all drm_encoder instances into drm_slave_encoder instances. Between the two evils, one must choose the lesser. Use drm_slave_encoder everywhere. Signed-off-by: Laurent Pinchart <[email protected]>
2014-11-26drm: rcar-du: Replace direct DRM encoder access with cast macroLaurent Pinchart4-7/+13
Add a new macro to downcast an rcar_du_encoder pointer to a drm_encoder pointer and use it. This prepares for the replacement of the rcar_drm_encoder encoder field with a drm_slave_encoder. Signed-off-by: Laurent Pinchart <[email protected]>
2014-11-26drm: rcar-du: Pass the encoder DT node to rcar_du_encoder_init()Laurent Pinchart3-4/+6
The encoder DT node will be needed to register an external HDMI encoder. Pass it to the rcar_du_encoder_init() function to prepare for HDMI support. Signed-off-by: Laurent Pinchart <[email protected]>
2014-11-26drm: rcar-du: Remove platform data supportLaurent Pinchart10-151/+38
All platforms now instantiate the DU through DT, platform data support isn't needed anymore. Signed-off-by: Laurent Pinchart <[email protected]>
2014-11-26drm: rcar-du: fix error return codeJulia Lawall1-1/+1
Propagate the error code on failure. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e1,e2; @@ ( if (\(ret < 0\|ret != 0\)) { ... return ret; } | ret = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Laurent Pinchart <[email protected]>
2014-11-26drm/udl: properly check for error pointersHaixia Shi1-3/+3
The drm_prime_pages_to_sg() function never returns NULL pointers, only error pointers and valid pointers. Signed-off-by: Haixia Shi <[email protected]> Reviewed-by: Stéphane Marchesin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-11-26drm/udl: handle page mapping in dmabuf export.Haixia Shi3-4/+9
Fixes dmabuf export failure with -E_NOMEM when the page is not mapped. Signed-off-by: Haixia Shi <[email protected]> Reviewed-by: Stéphane Marchesin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-11-26MAINTAINERS: add maintainer for i.MX DRM driverPhilipp Zabel1-0/+7
Add myself as the maintainer of the i.MX DRM driver. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Shawn Guo <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-11-26drm: imx: Move imx-drm driver out of stagingPhilipp Zabel20-20/+3
The imx-drm driver was put into staging mostly for the following reasons, all of which have been addressed or superseded: - convert the irq driver to use linear irq domains - work out the device tree bindings, this lead to the common of_graph bindings being used - factor out common helper functions, this mostly resulted in the component framework and drm of_graph helpers. Before adding new fixes, and certainly before adding new features, move it into its proper place below drivers/gpu/drm. Signed-off-by: Philipp Zabel <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-11-26Merge tag 'tags/renesas-dt-du-for-v3.19' into drm/next/adv7511-baseLaurent Pinchart52-343/+370
Renesas ARM Based SoC DT DU Updates for v3.19 * Enable DU using DT on marzen/r8a7779, lager/r8a7790 and koelsch/r8a7791
2014-11-26Merge branch 'exynos-drm-next' of ↵Dave Airlie17-666/+609
git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next Add Exynos4415 SoC support, some fixups and cleanups. Summary: - Resolve kernel lockup issue incurred by probe request in probe context. . For this, it moves all register codes of sub drivers into init function and adds component binding support for vidi driver. - Add Exynos4415 SoC support. - Make each manager and display object to be embedded in each driver context. - Fix and clean up FIMD and MIPI-DSI drivers. - Clean up unnecesary or wrong descriptions. - And trivial cleanups. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (58 commits) drm/exynos: avoid leak if exynos_dpi_probe() fails drm/exynos: Fix exynos_dpi_remove() parameter drm/exynos: vidi: add component support drm/exynos: fix exynos_drm_component_del drm/exynos/ipp: fix error return code drm/exynos: clean up machine compatible string check drm/exynos: move Exynos platform drivers registration to init Revert "drm/exynos: fix null pointer dereference issue" drm/exynos/dpi: stop using display->ctx pointer drm/exynos/dpi: embed display into private context drm/exynos/dp: stop using display->ctx pointer drm/exynos/dp: embed display into private context drm/exynos/vidi: stop using display->ctx pointer drm/exynos/vidi: embed display into private context drm/exynos/hdmi: stop using display->ctx pointer drm/exynos/hdmi: embed display into private context drm/exynos/fimd: stop using manager->ctx pointer drm/exynos/fimd: embed manager into private context drm/exynos/vidi: stop using manager->ctx pointer drm/exynos/vidi: embed manager into private context ...
2014-11-25amdkfd: delete some dead codeDan Carpenter1-5/+0
This is dead code. We don't need to unbind here, we can just return directly. Reviewed-by: Oded Gabbay <[email protected]> Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Oded Gabbay <[email protected]>
2014-11-25amdkfd: Fix memory leak of mqds on dqm finiOded Gabbay1-0/+4
The mqds array members are not freed when dqm is uninitialized. Reviewed-by: Ben Goz <[email protected]> Signed-off-by: Oded Gabbay <[email protected]>
2014-11-25Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into ↵Dave Airlie24-739/+1737
drm-next Now that we have the bits needed for mdp5 atomic, here is the followup pull request I mentioned. Main highlights are: 1) mdp5 multiple crtc and public plane support (no more hard-coded mixer setup!) 2) mdp5 atomic conversion 3) couple atomic helper fixes for issues found during mdp5 atomic debug (reviewed by danvet.. but he didn't plane to send an atomic-fixes pull request so I agreed to tack them on to mine) * 'msm-next' of git://people.freedesktop.org/~robclark/linux: drm/atomic: shutdown *current* encoder drm/atomic: check mode_changed *after* atomic_check drm/msm/mdp4: fix mixer setup for multi-crtc + planes drm/msm/mdp5: dpms(OFF) cleanups drm/msm/mdp5: atomic drm/msm: atomic fixes drm/msm/mdp5: remove global mdp5_ctl_mgr drm/msm/mdp5: don't use void * for opaque types drm/msm: add multiple CRTC and overlay support drm/msm/mdp5: set rate before enabling clk drm/msm/mdp5: introduce mdp5_cfg module drm/msm/mdp5: make SMP module dynamically configurable drm/msm/hdmi: remove useless kref drm/msm/mdp5: get the core clock rate from MDP5 config drm/msm/mdp5: use irqdomains
2014-11-25amdkfd: fix an error handling bug in pqm_create_queue()Dan Carpenter1-1/+1
The call to kernel_queue_uninit(NULL) will trigger a BUG(), and also the error code is incorrect. Fixes: 45102048f77e ('amdkfd: Add process queue manager module') Reviewed-by: Oded Gabbay <[email protected]> Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Oded Gabbay <[email protected]>