[Bug 104551] Unable to resume from suspend AMD Radeon HD 6570

2015-09-25 Thread bugzilla-dae...@bugzilla.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=104551 --- Comment #6 from Ignacio --- Those logs were taken from a Ubuntu 15.04 live USB stick -- You are receiving this mail because: You are watching the assignee of the bug.

[Bug 91278] Tonga GPU lock/reset fail with Unigine Valley

2015-09-25 Thread bugzilla-dae...@freedesktop.org
attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150925/f2c83794/attachment.html>

[PATCHv4 3/3] drm: bridge: anx78xx: Add anx78xx driver support by analogix.

2015-09-25 Thread Enric Balletbo i Serra
At the moment it only supports ANX7814. The ANX7814 is an ultra-low power Full-HD (1080p60) SlimPort transmitter designed for portable devices. This driver adds initial support and supports HDMI to DP pass-through mode. Signed-off-by: Enric Balletbo i Serra --- drivers/gpu/drm/bridge/Kconfig

[PATCHv4 2/3] devicetree: Add new ANX7814 SlimPort transmitter binding.

2015-09-25 Thread Enric Balletbo i Serra
The ANX7814 is an ultra-low power Full-HD (1080p60) SlimPort transmitter designed for portable devices. You can add support to your board with current binding. Example: anx7814: anx7814 at 38 { compatible = "analogix,anx7814"; reg = <0x38>;

[PATCHv4 1/3] of: Add vendor prefix for Analogix Semiconductor, Inc.

2015-09-25 Thread Enric Balletbo i Serra
Analogix Semiconductor develops analog and mixed-signal devices for digital media and communications interconnect applications. Signed-off-by: Enric Balletbo i Serra Acked-by: Rob Herring --- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+) diff --git

[PATCHv4 0/3] Add initial support for slimport anx78xx

2015-09-25 Thread Enric Balletbo i Serra
Hi all, This is the fouth version with fixes suggested by Nicolas Boichat and Dan Carpenter. See the changelog below for details. The following series add initial support for the Slimport ANX7814 transmitter, a ultra-low power Full-HD (1080p60) transmitter designed for portable device. The dri

No more new fbdev drivers, please

2015-09-25 Thread Daniel Vetter
On Fri, Sep 25, 2015 at 04:09:46PM +0300, Tomi Valkeinen wrote: > > > On 25/09/15 13:41, Kamil Lulko wrote: > > Hi, > > > >> fbdev is (more or less) maintained, but it's a deprecated framework. All > >> new Linux display drivers should be done on DRM. > > > > What about no-mmu platforms? DRM ha

[PATCH] fbdev: put module after running driver callback

2015-09-25 Thread David Herrmann
Hi On Thu, Sep 24, 2015 at 1:24 PM, Tomi Valkeinen wrote: > > On 11/09/15 19:10, David Herrmann wrote: >> Currently, for each open() on an fbdev device, we pin the underlying >> fbdev device and driver module. On close(), we release both. This >> guarantees that the fbdev object stays around unt

[PATCH 09/14] drm/exynos: remove call to drm_gem_free_mmap_offset()

2015-09-25 Thread Inki Dae
On 2015년 09월 24일 10:01, Joonyoung Shim wrote: > Hi Inki, > > On 08/17/2015 06:03 PM, Inki Dae wrote: >> On 2015년 08월 17일 17:17, Joonyoung Shim wrote: >>> On 08/17/2015 04:52 PM, Inki Dae wrote: On 2015년 08월 17일 14:29, Joonyoung Shim wrote: > On 08/16/2015 02:07 PM, Inki

[PATCH 1/6] driver-core: platform: Provide helpers for multi-driver modules

2015-09-25 Thread Greg Kroah-Hartman
On Fri, Sep 25, 2015 at 04:29:44PM +0200, Thierry Reding wrote: > On Thu, Sep 24, 2015 at 07:02:36PM +0200, Thierry Reding wrote: > > From: Thierry Reding > > > > Some modules register several sub-drivers. Provide a helper that makes > > it easy to register and unregister a list of sub-drivers, a

[RFC 3/5] ASoC: codec: hdmi drm codec driver

2015-09-25 Thread Arnaud Pouliquen
Hello Jyri, Yes using or not DRM bridge we should be able to have a common implementation Please find,my answer belows BR, Arnaud On 09/25/2015 04:11 PM, Jyri Sarha wrote: > Despite my earlier comment this implementation and the related HW is > quite similar in all significant aspects to the p

[PATCH 3/5] drm/amd: add ACP driver support

2015-09-25 Thread Alex Deucher
From: Maruthi Bayyavarapu This adds the ACP (Audio CoProcessor) IP driver and wires it up to the amdgpu driver. The ACP block provides the DMA engine for i2s based ALSA driver. This is required for audio on APUs that utilize an i2s codec. Reviewed-by: Jammy Zhou Reviewed-by: Maruthi Bayyavarap

[PATCH 2/5] ASoC : dwc : support dw i2s in AMD platform

2015-09-25 Thread Alex Deucher
From: Maruthi Srinivas Bayyavarapu Vendor specific quirk was added to: 1. Support AMD platform which has two dwc controllers with different base address for playback and capture. Also, I2S_COMP_PARAM_* registers offsets differed. 2. Resume audio which was active before system suspend. Af

[PATCH 1/5] ASoC : dwc : support dw i2s in slave mode

2015-09-25 Thread Alex Deucher
From: Maruthi Srinivas Bayyavarapu dw i2s controller can work in slave mode, codec being master. dw i2s is made to support master/slave operation, by reading dwc register. Signed-off-by: Maruthi Bayyavarapu Signed-off-by: Alex Deucher --- v2: check register to determine master/slave mode in

[PATCH 0/5] Add ASoC support for AMD APUs [v4]

2015-09-25 Thread Alex Deucher
This patch set implements support for i2s audio and new AMD GPUs. The i2s codec is fed by a DMA engine on the GPU. To handle this we create mfd cells which we hang the i2s codec and DMA engine on. Because of this, this patch set covers two subsystems: drm and alsa. The drm patches add support for

[Bug 91278] Tonga GPU lock/reset fail with Unigine Valley

2015-09-25 Thread bugzilla-dae...@freedesktop.org
lines. -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150925/16efc18d/attachment.html>

[PATCH v2] driver-core: platform: Provide helpers for multi-driver modules

2015-09-25 Thread Thierry Reding
From: Thierry Reding Some modules register several sub-drivers. Provide a helper that makes it easy to register and unregister a list of sub-drivers, as well as unwind properly on error. Cc: Greg Kroah-Hartman Signed-off-by: Thierry Reding --- Changes in v2: - properly pass around the owner mo

[PATCH 1/6] driver-core: platform: Provide helpers for multi-driver modules

2015-09-25 Thread Thierry Reding
erry -- next part -- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150925/ce5c3e41/attachment.sig>

[PATCH 1/6] driver-core: platform: Provide helpers for multi-driver modules

2015-09-25 Thread Thierry Reding
by instrumenting platform_driver_register() to return failure at various points in the sequence. This works fine. Thierry -- next part -- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150925/b254adba/attachment.sig>

[RFC 3/5] ASoC: codec: hdmi drm codec driver

2015-09-25 Thread Jyri Sarha
Despite my earlier comment this implementation and the related HW is quite similar in all significant aspects to the patch set posted couple of days ago [1] for Beaglebone-Black HDMI audio. [1] http://permalink.gmane.org/gmane.linux.alsa.devel/144144 I have not yet gotten to bottom of drm-side

[PATCH RFC v2 0/3] Add a drm_aux-dev module.

2015-09-25 Thread Rafael Antognolli
Oops, sorry, this email shouldn't be in the patch set, please disconsider it. -- Rafael On Fri, Sep 25, 2015 at 04:54:53PM -0700, Rafael Antognolli wrote: > Second attempt at implementing a module that allows reading/writing arbitrary > dpcd registers. Changes to this version: > - lseek is

[PATCH v3 2/2] drm/dp: Add a drm_aux-dev module for reading/writing dpcd registers.

2015-09-25 Thread Rafael Antognolli
This module is heavily based on i2c-dev. Once loaded, it provides one dev node per DP AUX channel, named drm_dp_auxN, where N is an integer. It's possible to know which connector owns this aux channel by looking at the respective sysfs /sys/class/drm_aux_dev/drm_dp_auxN/connector, if the connector

[PATCH v3 1/2] drm/dp: Store the drm_connector device pointer on the helper.

2015-09-25 Thread Rafael Antognolli
This is useful to determine which connector owns this AUX channel. Signed-off-by: Rafael Antognolli --- drivers/gpu/drm/i915/intel_dp.c | 1 + include/drm/drm_dp_helper.h | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c i

[PATCH v3 0/2] Add drm_dp_aux chardev support.

2015-09-25 Thread Rafael Antognolli
This series implement support to a drm_dp_aux chardev that allows reading and writing an arbitrary amount of bytes to arbitrary dpcd register addresses using regular read, write and lseek operations. v2: - lseek is used to select the register to read/write - read/write are used instead of ioctl

[PATCH RFC v2 0/3] Add a drm_aux-dev module.

2015-09-25 Thread Rafael Antognolli
Second attempt at implementing a module that allows reading/writing arbitrary dpcd registers. Changes to this version: - lseek is used to select the register to read/write; - read/write are used instead of ioctl; - no blocking_notifier is used, just a direct callback. One t

[PATCH RFC v2 3/3] drm/dp: Add a drm_aux-dev module for reading/writing dpcd registers.

2015-09-25 Thread Rafael Antognolli
On Tue, Sep 22, 2015 at 02:17:51PM +0200, Daniel Vetter wrote: > On Tue, Sep 22, 2015 at 03:00:54PM +0300, Ville Syrjälä wrote: > > On Tue, Sep 15, 2015 at 04:55:04PM -0700, Rafael Antognolli wrote: > > > This module is heavily based on i2c-dev. Once loaded, it provides one > > > dev node per DP

[PATCH 1/6] driver-core: platform: Provide helpers for multi-driver modules

2015-09-25 Thread Thierry Reding
const void *data, size_t size, struct module *module); > > +int platform_register_drivers(struct platform_driver * const *drivers, > + unsigned int count); > +void platform_unregister_drivers(struct platform_driver * const *drivers, > + unsigned int count); > + > /* early platform driver interface */ > struct early_platform_driver { > const char *class_str; > -- > 2.5.0 > -- next part -- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150925/62893765/attachment.sig>

[PATCH 3/6] drm/imx: Build monolithic driver

2015-09-25 Thread Thierry Reding
e conflicts in > imx-drm-core.c? Let's see what Greg thinks about patch 1. There are a bunch of other drivers that can use these helpers, so it might be best to get the helper merged first and hold off on the depending patches until the next release. I'll let you know when we

No more new fbdev drivers, please

2015-09-25 Thread Tomi Valkeinen
-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150925/7b19a948/attachment.sig>

[PATCH 3/6] drm/imx: Build monolithic driver

2015-09-25 Thread Philipp Zabel
Am Freitag, den 25.09.2015, 15:09 +0200 schrieb Philipp Zabel: > Am Freitag, den 25.09.2015, 14:17 +0200 schrieb Thierry Reding: > > I think you gain much less by splitting up than you realize. Compare > > this from before the series: > > > > $ du -ch drivers/gpu/drm/imx/*.ko > > 8.0Kd

[PATCH 3/6] drm/imx: Build monolithic driver

2015-09-25 Thread Philipp Zabel
Am Freitag, den 25.09.2015, 14:17 +0200 schrieb Thierry Reding: > I think you gain much less by splitting up than you realize. Compare > this from before the series: > > $ du -ch drivers/gpu/drm/imx/*.ko > 8.0Kdrivers/gpu/drm/imx/dw_hdmi-imx.ko Oh right, I didn't realize that this

[PATCH 16/16] drm: exynos: mixer: fix using usleep() in atomic context

2015-09-25 Thread Andrzej Hajda
From: Tomasz Stanislawski This patch fixes calling usleep_range() after taking reg_slock using spin_lock_irqsave(). The mdelay() is used instead. Waiting in atomic context is not the best idea in general. Hopefully, waiting occurs only when Video Processor fails to reset correctly. Signed-off-by

[PATCH 15/16] drm/exynos/hdmi: remove unused field

2015-09-25 Thread Andrzej Hajda
The patch removes unused hdmi_context field. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c index a4ec8b9..b0f5ff4 100644 --- a/drivers/gpu/drm/e

[PATCH 14/16] drm/exynos/hdmi: improve HDMI/ACR related code

2015-09-25 Thread Andrzej Hajda
Simple formula can be used to calculate CTS and N coefficients. Additionaly ACR registers have different offsets for different versions of IP. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 71 +++- drivers/gpu/drm/exynos/regs-hdmi.h | 2

[PATCH 13/16] drm/exynos/hdmi: convert container_of macro to inline function

2015-09-25 Thread Andrzej Hajda
Inline function is safer than macro, also the name has been changed to be consistent with other inline function encoder_to_hdmi. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 15 +-- 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/d

[PATCH 12/16] drm/exynos/hdmi: remove deprecated hdmi_resources structure

2015-09-25 Thread Andrzej Hajda
hdmi_resources structure was filled by old platform data code and is not necessary anymore. The patch removes it at groups together resource related fields in hdmi_context. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 105 +++ 1 file cha

[PATCH 11/16] drm/exynos/hdmi: convert to gpiod API

2015-09-25 Thread Andrzej Hajda
The patch converts API to gpiod and moves initialization code to hdmi_resources_init. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 37 ++-- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_hdm

[PATCH 10/16] drm/exynos/hdmi: simplify clock re-parenting

2015-09-25 Thread Andrzej Hajda
Driver tries to disable sclk_hdmi during re-parenting, to avoid possible glitches. It is ineffective as the clock is used also by other devices (mixer). Anyway driver works without disabling sclk_hdmi. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 4 1 file changed

[PATCH 09/16] drm/exynos/hdmi: use constant size array for regulators

2015-09-25 Thread Andrzej Hajda
Driver always uses the same number of regulators, so there is no point in dynamic allocation. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 25 + 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c

[PATCH 08/16] drm/exynos/hdmi: use optional regulator_get for hdmi-en

2015-09-25 Thread Andrzej Hajda
hdmi-en is an optional regulator so it should be better handled by devm_regulator_get_optional call. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 24 +++- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_

[PATCH 07/16] drm/exynos/hdmi: fix removal order

2015-09-25 Thread Andrzej Hajda
DRM device should be destroyed before releasing resources. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c index 50ced709

[PATCH 06/16] drm/exynos/hdmi: replace all writeb with writel

2015-09-25 Thread Andrzej Hajda
Registers are 32-bit, even if only lower 8-bits are used. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c index 814dd8c..50

[PATCH 05/16] drm/exynos/hdmi: simplify HDMI-PHY power sequence

2015-09-25 Thread Andrzej Hajda
Currently driver tries to set specific HDMI-PHY registers in three situations: - before reset, - before power off, - after applying HDMI-PHY configuration. First two cases seems to be unnecessary - register contents will be lost anyway. The third case can be merged with HDMI-PHY configuration by f

[PATCH 04/16] drm/exynos/hdmi: move PLL stabilization check code to separate function

2015-09-25 Thread Andrzej Hajda
The patch moves PLL stabilization check to separate function, adjust timeout parameters and de-duplicates code common for both HW variants. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 68 ++-- 1 file changed, 26 insertions(+), 42 deleti

[PATCH 03/16] drm/exynos/hdmi: use mappings for registers with IP dependent address

2015-09-25 Thread Andrzej Hajda
Some registers resides at different offsets depending on device version. This patch adds infrastructure for mapping such registers to proper address based on hdmi_type. It adds also mappings to some registers. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 56 +++

[PATCH 02/16] dt-bindings: remove deprecated compatible string from exynos-hdmi

2015-09-25 Thread Andrzej Hajda
samsung,exynos5-hdmi compatible was marked as deprecated in Jun 2013. It was never used since then. Signed-off-by: Andrzej Hajda --- Documentation/devicetree/bindings/video/exynos_hdmi.txt | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/binding

[PATCH 01/16] drm/exynos/hdmi: remove support for deprecated compatible

2015-09-25 Thread Andrzej Hajda
This compatible was marked as deprecated in Jun 2013 and it is not used since then. Additionally its driver data points to wrong pll settings, so it cannot work anyway. Signed-off-by: Andrzej Hajda --- drivers/gpu/drm/exynos/exynos_hdmi.c | 10 -- 1 file changed, 10 deletions(-) diff --

[PATCH 00/16] drm/exynos/hdmi: refactoring/cleanup patches

2015-09-25 Thread Andrzej Hajda
Hi, This is another set of cleanup/improvement patches for HDMI. The patchset is based on exynos-drm-next. It was tested on Universal and Odroid U3. Regards Andrzej Andrzej Hajda (15): drm/exynos/hdmi: remove support for deprecated compatible dt-bindings: remove deprecated compatible strin

[PATCH 1/2] drm: Add SCDC helpers

2015-09-25 Thread Ville Syrjälä
On Thu, Sep 24, 2015 at 06:51:34PM +0200, Thierry Reding wrote: > From: Thierry Reding > > SCDC is a mechanism defined in the HDMI 2.0 specification that allows > the source and sink devices to communicate. > > This commit introduces helpers to access the SCDC and provides the > symbolic names f

[PATCH 2/2] drm/edid: Implement SCDC support detection

2015-09-25 Thread Ville Syrjälä
On Thu, Sep 24, 2015 at 06:51:35PM +0200, Thierry Reding wrote: > From: Thierry Reding > > Sinks compliant with the HDMI 2.0 specification may support SCDC, a > mechanism for the source and the sink to communicate. Sinks advertise > support for this feature in the HDMI Forum Vendor Specific Data

[patch] drm/amdgpu: signedness bug in amdgpu_cs_parser_init()

2015-09-25 Thread Dan Carpenter
The "i" variable should be signed or it leads to a crash in the error handling code. Fixes: 1d263474c441 ('drm/amdgpu: unwind properly in amdgpu_cs_parser_init()') Signed-off-by: Dan Carpenter diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 749

[PATCH] drm/i915: fix task reference leak in i915_debugfs.c

2015-09-25 Thread Daniel Vetter
On Fri, Sep 25, 2015 at 02:16:07PM +0300, Jani Nikula wrote: > On Fri, 25 Sep 2015, Geliang Tang wrote: > > Leak a task reference in i915_ppgtt_info(), add put_task_struct() > > to fix it. > > Introduced by > > commit 1c60fef535d143860d5bf6593e24ab6417f5227c > Author: Ben Widawsky > Date: Fri

[PATCH 09/16] drm/irq: Use unsigned int pipe in public API

2015-09-25 Thread Thierry Reding
because, at least in most of the cases I've seen, it refers to the pipe rather than the CRTC object ID. That said this is all only temporary, though it may take us a while to get rid of it. The ultimate goal is to convert all drivers over to using struct drm_crtc * everywhere, at which point we don't have to bother with what to call the CRTC index. As a preliminary step, having drivers use consistent naming is hopefully going to make it easier to replace. Thierry -- next part -- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150925/e6feb675/attachment.sig>

PROBLEM: Intel VGA output busticated on 4.3-rc2 (regression)

2015-09-25 Thread Daniel Vetter
Another regression for Jairo to track. -Daniel On Thu, Sep 24, 2015 at 05:22:09PM -0400, Nick Bowler wrote: > Hi, > > Testing out 4.3-rc2, first thing I notice is that the VGA output is > not working. Specifically, the display is continuously powering on > and off -- at no point is any image vis

[PULL] topic/drm-misc

2015-09-25 Thread Daniel Vetter
Hi Dave, Another attempt at drm-misc for 4.4 ... - better atomic helpers for runtime pm drivers - atomic fbdev - dp aux i2c STATUS_UPDATE handling (for short i2c replies from the sink) - bunch of constify patches - inital kerneldoc for vga switcheroo - some vblank code cleanups from Ville and Thie

[PATCH 3/6] drm/imx: Build monolithic driver

2015-09-25 Thread Thierry Reding
ion/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150925/c0712def/attachment.sig>

[PATCH] drm/i915: fix task reference leak in i915_debugfs.c

2015-09-25 Thread Jani Nikula
On Fri, 25 Sep 2015, Geliang Tang wrote: > Leak a task reference in i915_ppgtt_info(), add put_task_struct() > to fix it. Introduced by commit 1c60fef535d143860d5bf6593e24ab6417f5227c Author: Ben Widawsky Date: Fri Dec 6 14:11:30 2013 -0800 drm/i915: Dump all ppgtt > > Signed-off-by: G

[PATCH 48/48] staging: etnaviv: remove CMDSTREAM GEM allocation from UAPI

2015-09-25 Thread Lucas Stach
Neither userspace nor the kernel internal functions use the CMDSTREAM GEM type anymore. Remove it from the public API and clean up all related functions. Signed-off-by: Lucas Stach --- drivers/staging/etnaviv/etnaviv_gem.c | 127 +++--- include/uapi/drm/etnaviv_drm.h

[PATCH 47/48] staging: etnaviv: don't use GEM buffer for internal ring buffer

2015-09-25 Thread Lucas Stach
Instead of using a GEM buffer for the kernel internal ring buffer use the newly introduced cmdbuf object. This removes the last remaining user of the CMDSTREAM GEM flag. Signed-off-by: Lucas Stach --- drivers/staging/etnaviv/etnaviv_buffer.c | 90 ++-- drivers/staging

[PATCH 46/48] staging: etnaviv: rewrite submit interface to use copy from user

2015-09-25 Thread Lucas Stach
This rewrites the submit interface to copy the command stream from user memory. This mitigates a potential attack vector of the old interface where userspace could submit a command buffer that would be validated by the kernel, but is still mapped into userspace. This could be exploited by changing

[PATCH 45/48] staging: etnaviv: remove submit type

2015-09-25 Thread Lucas Stach
There is no point in having a context restore buffer, as the need for tracking GPU hardware state in userspace and the fact that we need to submit all states that reference memory buffers anyway to ensure proper patching of the relocations, eat away from the potential benefit. Signed-off-by: Lucas

[PATCH 44/48] staging: etnaviv: implement cache maintenance on cpu_(prep|fini)

2015-09-25 Thread Lucas Stach
This makes sure that we are satifying the cache handling rules outlined in the previous commit. Cached buffers are pulled into the CPU domain before access and pushed to the GPU again when the CPU is done. Signed-off-by: Lucas Stach --- drivers/staging/etnaviv/etnaviv_gem.c | 41

[PATCH 43/48] staging: etnaviv: map all buffers to the GPU

2015-09-25 Thread Lucas Stach
This redefines how we do cache handling in the following way: All buffer are pushed into the GPU domain initially, this will only be done when populating the buffers backing store, but for simplicity userspace can assume that the buffer is owned by the GPU as soon as it constructs a GEM handle. Th

[PATCH 42/48] staging: etnaviv: implement simple hang recovery

2015-09-25 Thread Lucas Stach
Not bullet proof yet, as this possibly shoots down more submits than necessary. However it allows for fairly rapid turnarounds during userspace development. Signed-off-by: Lucas Stach --- drivers/staging/etnaviv/etnaviv_gpu.c | 30 +- 1 file changed, 29 insertions(+),

[PATCH 41/48] staging: etnaviv: change etnaviv_buffer_init() to return prefetch

2015-09-25 Thread Lucas Stach
From: Christian Gmeiner etnaviv_buffer_init() creates a very simple command buffer to be able to start the FE. FE fetches 'prefetch' number of 64 bit words via DMA and starts to execute the read buffer. This is a very simple code cleanup and pushes the whole buffer logic (alignment, cmd buffer c

[PATCH 40/48] staging: etnaviv: debugfs: add possibility to dump kernel buffer

2015-09-25 Thread Lucas Stach
From: Christian Gmeiner This is very useful for debugging issues regarding command buffer processing. Signed-off-by: Christian Gmeiner --- drivers/staging/etnaviv/etnaviv_drv.c | 39 +++ 1 file changed, 39 insertions(+) diff --git a/drivers/staging/etnaviv/etna

[PATCH 39/48] staging: etnaviv: fix error: 'etnaviv_gpu_hw_resume' defined but not used

2015-09-25 Thread Lucas Stach
From: Christian Gmeiner Signed-off-by: Christian Gmeiner Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_gpu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/staging/etnaviv/etnaviv_gpu.c b/drivers/staging/etnaviv/etnaviv_gpu.c index f89fa869885e..948c85a8a591 1

[PATCH 38/48] staging: etnaviv: fix 'ret' may be used uninitialized in this function

2015-09-25 Thread Lucas Stach
From: Christian Gmeiner Signed-off-by: Christian Gmeiner Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/etnaviv/etnaviv_gem.c b/drivers/staging/etnaviv/etnaviv_gem.c index 5c2462d6130d..

[PATCH 37/48] staging: etnaviv: avoid pinning pages in CMA

2015-09-25 Thread Lucas Stach
From: Russell King The CMA memory area is shared between CMA and other users. In order to allow CMA to work, non-CMA allocations in this area must be for movable pages, so that a CMA allocation can reclaim its memory from other users when required. Page cache backed allocations, such as pages a

[PATCH 36/48] staging: etnaviv: add support for GEM_WAIT ioctl

2015-09-25 Thread Lucas Stach
From: Russell King Add support for the new GEM_WAIT ioctl, which waits for the kernel to finish with the GEM object (all render complete, and has been retired). This is different from the WAIT_FENCE ioctl, which just waits for rendering to complete. This is an important distinction, as when a ge

[PATCH 35/48] staging: etnaviv: move mapping teardown into etnaviv_gem_free_object()

2015-09-25 Thread Lucas Stach
From: Russell King Move the mapping teardown directly into etnaviv_gem_free_object(). Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_gem.c | 17 - 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/staging/etnaviv/etnaviv_gem.c b/drivers/st

[PATCH 34/48] staging: etnaviv: remove cmd buffer offset validation in submit_reloc()

2015-09-25 Thread Lucas Stach
From: Russell King We've already validated the command buffer offset, there's no need to repeat it elsewhere. Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_gem_submit.c | 5 - 1 file changed, 5 deletions(-) diff --git a/drivers/staging/etnaviv/etnaviv_gem_submit.c b/dri

[PATCH 33/48] staging: etnaviv: copy submit command and bos in one go

2015-09-25 Thread Lucas Stach
From: Russell King On GPU submission, copy the submit command and bo structures in one go and outside of dev->struct_mutex. There are two reasons: - This avoids the overhead from calling and checking copy_from_user() multiple times. - Holding dev->struct_mutex over a page fault should be avoi

[PATCH 32/48] staging: etnaviv: no point looking up the mapping for cmdstream bos

2015-09-25 Thread Lucas Stach
From: Russell King Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_gem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/etnaviv/etnaviv_gem.c b/drivers/staging/etnaviv/etnaviv_gem.c index 3a68295eaee4..02c5e46dca75 100644 --- a/drivers/s

[PATCH 31/48] staging: etnaviv: improve efficiency of command parser

2015-09-25 Thread Lucas Stach
From: Russell King Performance analysis indicates that the command parser is a hot spot in the code. We can improve the efficiency of the command parser by storing the command length in a table, rather than decoding the command manually via a switch statement. Signed-off-by: Russell King ---

[PATCH 30/48] staging: etnaviv: drop event ring buffer tracking

2015-09-25 Thread Lucas Stach
From: Russell King Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_buffer.c | 1 - drivers/staging/etnaviv/etnaviv_gpu.c| 4 +--- drivers/staging/etnaviv/etnaviv_gpu.h| 2 -- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/drivers/staging/etnaviv/etnaviv_bu

[PATCH 29/48] staging: etnaviv: fix runtime resume

2015-09-25 Thread Lucas Stach
From: Russell King When resuming a core, especially if it has been powered down by a PM domain, we need to re-initialise the clock control register, and perform a reload of the context. This is important where we have a GPU with multiple execution states, where we must select the appropriate exe

[PATCH 28/48] staging: etnaviv: rename GPU clock functions

2015-09-25 Thread Lucas Stach
From: Russell King Rename the GPU clock functions for what they actually are, splitting the clock disable out from etnaviv_gpu_suspend(). This allows us to fix etnaviv_gpu_rpm_resume(), which needed only to disable the clocks on failure, rather than trying to stop an uninitialised GPU. Signed-o

[PATCH 27/48] staging: etnaviv: provide a helper to load the GPU clock field

2015-09-25 Thread Lucas Stach
From: Russell King The GPU requires a double-write to set the clock divisor. Rather than open-coding this knowledge in a couple of places, provide a helper to do this instead. This avoids spreading this knowledge around the driver. Signed-off-by: Russell King --- drivers/staging/etnaviv/etna

[PATCH 26/48] staging: etnaviv: fix BUG_ON when removing module

2015-09-25 Thread Lucas Stach
From: Russell King Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_gpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/etnaviv/etnaviv_gpu.c b/drivers/staging/etnaviv/etnaviv_gpu.c index 233b2197eb37..b12d46075732 100644 --- a/drivers/stagi

[PATCH 25/48] staging: etnaviv: increase page table size to maximum

2015-09-25 Thread Lucas Stach
From: Russell King Running the cairo trace "firefox-36-20090609" results in the Xorg server trying to queue up 319M of buffer objects in a single commit (due to the number of drawing operations that will fit into a 32K command buffer.) This causes the commit ioctl to return -ENOSPC as the MMU is

[PATCH 24/48] staging: etnaviv: clean up etnaviv_iommu_unmap_gem() signature

2015-09-25 Thread Lucas Stach
From: Russell King The mapping structure contains everything we need; avoid passing extra data in rather than using the data we have stored in the structure. Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_gem.c | 2 +- drivers/staging/etnaviv/etnaviv_mmu.c | 31 ++

[PATCH 23/48] staging: etnaviv: fix oops caused by scanning for free blocks

2015-09-25 Thread Lucas Stach
From: Russell King The drm_mm scanning for free MMU blocks walks the list of inactive objects, looking up their vram node. Unfortunately, the code assumes that if it has a vram node, it is registered into drm_mm. However, there are two cases when a vram node is created - whenever a MMU entry ha

[PATCH 22/48] staging: etnaviv: no need to initialise a list_head

2015-09-25 Thread Lucas Stach
From: Russell King There's no need to initialise a list_head which is only going to be added with list_add() to an existing list. Remove this redundant code. Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_mmu.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/stagin

[PATCH 21/48] staging: etnaviv: use standard kernel types rather than stdint.h types

2015-09-25 Thread Lucas Stach
From: Russell King The Linux kernel dislikes the use of stdint.h types. In order to prepare this code for merging, we need to convert to the preferred types, which are u8/u16/u32/u64 for unsigned ints of the specified size, and s8/s16/s32/s64 for signed ints of the same. Signed-off-by: Russell

[PATCH 20/48] staging: etnaviv: provide etnaviv_queue_work()

2015-09-25 Thread Lucas Stach
From: Russell King Provide a helper to queue a work_struct onto our private workqueue. This avoids repetitions of: struct drm_device *dev = ... struct etnaviv_private *priv = dev->dev_private; queue_work(priv->wq, w); Signed-off-by: Russell King --- drivers/staging/et

[PATCH 19/48] staging: etnaviv: switch to per-GPU fence completion implementation

2015-09-25 Thread Lucas Stach
From: Russell King Having a global fence completion implementation in the presence of mutliple GPU cores which can complete out of order is buggy. Consider the case of two processes submitting work for two GPU cores: GPU A GPU B priv->completed_fence =

[PATCH 18/48] staging: etnaviv: make context a per-GPU thing

2015-09-25 Thread Lucas Stach
From: Russell King Tracking the current context on a system wide level is incorrect: if the context for one GPU core changes, the context does not change on other GPU cores. Make the context tracking a per-GPU thing. Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_drv.c | 9 ++

[PATCH 17/48] staging: etnaviv: allow etnaviv_ioctl_gem_info() locking to be interruptible

2015-09-25 Thread Lucas Stach
From: Russell King Move the locking out of etnaviv_gem_mmap_offset() into its solitary caller, and take the mutex using mutex_lock_interruptible(). This allows etnaviv_ioctl_gem_info() to handle signals while trying to obtain this lock. Signed-off-by: Russell King --- drivers/staging/etnaviv/

[PATCH 16/48] staging: etnaviv: give etnaviv_gem_mmap_offset() a sane behaviour

2015-09-25 Thread Lucas Stach
From: Russell King etnaviv_gem_mmap_offset() returned zero if drm_gem_create_mmap_offset() failed. This is incorrect behaviour as etnaviv_ioctl_gem_info() does not detect this condition, so it returns success. Fix this by re-architecting etnaviv_gem_mmap_offset(). Merge mmap_offset() into this

[PATCH 15/48] staging: etnaviv: etnaviv_gem_fault: reduce struct_mutex exposure

2015-09-25 Thread Lucas Stach
From: Russell King Reduce the exposure of struct_mutex to an absolute minimum. We only need to take this lock over the call to etnaviv_gem_get_pages() as vm_insert_page() already does a properly synchronised update of the PTE (using the pte table lock.) Reducing the code covered by this lock al

[PATCH 14/48] staging: etnaviv: use vm_insert_page() rather than vm_insert_mixed()

2015-09-25 Thread Lucas Stach
From: Russell King We're only ever going to insert using a pointer to a struct page. Use vm_insert_page() rather than converting back and forth between a struct page and a PFN. Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_gem.c | 9 - 1 file changed, 4 insertions(+)

[PATCH 13/48] staging: etnaviv: fix gpu debugfs show implementation

2015-09-25 Thread Lucas Stach
From: Russell King Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_drv.c | 43 --- drivers/staging/etnaviv/etnaviv_gpu.c | 21 ++--- drivers/staging/etnaviv/etnaviv_gpu.h | 2 +- 3 files changed, 44 insertions(+), 22 deletions(-) dif

[PATCH 12/48] staging: etnaviv: avoid lockdep circular dependency warning

2015-09-25 Thread Lucas Stach
From: Russell King Avoid the below circular dependency warning by avoiding calling pm_runtime_get_sync() at a point where struct_mutex is held, and we may well provoke the power domain to be resumed. We avoid this simply by referencing the runtime PM in the etnaviv_gem_submit() function just bef

[PATCH 11/48] staging: etnaviv: fix off-by-one for iommu aperture end

2015-09-25 Thread Lucas Stach
From: Russell King The aperture end address is inclusive, not exclusive. Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/etnaviv/etnaviv_iommu.c b/drivers/staging/etnaviv/etnaviv_iommu.

[PATCH 10/48] staging: etnaviv: fix missing error cleanups in etnaviv_load()

2015-09-25 Thread Lucas Stach
From: Russell King The only failure which etnaviv_load() implemented was for kzalloc(). Other failures (alloc_ordered_workqueue(), component_bind_all()) were not implemented. Add these. Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_drv.c | 14 +- 1 file changed,

[PATCH 09/48] staging: etnaviv: add Dove GPU subsystem compatible

2015-09-25 Thread Lucas Stach
From: Russell King Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_drv.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/etnaviv/etnaviv_drv.c b/drivers/staging/etnaviv/etnaviv_drv.c index 5a53c6969fcd..b2ce4a6467ed 100644 --- a/drivers/staging/etnaviv/etnav

[PATCH 08/48] staging: etnaviv: add proper license header to all files

2015-09-25 Thread Lucas Stach
Signed-off-by: Lucas Stach Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_buffer.c | 2 +- drivers/staging/etnaviv/etnaviv_cmd_parser.c | 16 drivers/staging/etnaviv/etnaviv_drv.c| 3 +-- drivers/staging/etnaviv/etnaviv_drv.h| 3 +-- drive

[PATCH 07/48] staging: etnaviv: quiten down kernel log output

2015-09-25 Thread Lucas Stach
From: Christian Gmeiner There is no need to spam the kernel logs with the GPU specs and features at startup. If someone wants to know about this stuff debugfs should be the right place to look at. Also use better format specifiers to make it easier for humans to read. Signed-off-by: Christian G

[PATCH 06/48] staging: etnaviv: rename last remaining bits from msm to etnaviv

2015-09-25 Thread Lucas Stach
Signed-off-by: Lucas Stach Signed-off-by: Russell King --- drivers/staging/etnaviv/etnaviv_gem_submit.c | 2 +- drivers/staging/etnaviv/etnaviv_gpu.c| 2 +- drivers/staging/etnaviv/etnaviv_gpu.h| 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/stagi

  1   2   >