- 27 11月, 2016 5 次提交
-
-
由 Rob Clark 提交于
If fb dimensions are larger than what can be scanned out, but the src dimensions are not, the hw can still handle this. So clip. Signed-off-by: NRob Clark <robdclark@gmail.com>
-
由 Rob Clark 提交于
Signed-off-by: NRob Clark <robdclark@gmail.com>
-
由 Rob Clark 提交于
Signed-off-by: NRob Clark <robdclark@gmail.com>
-
由 Rob Clark 提交于
Looks like cut/paste error from the other device cfgs (which do support scaling on RGBn pipes). Signed-off-by: NRob Clark <robdclark@gmail.com>
-
由 Rob Clark 提交于
If the bottom-most layer is not fullscreen, we need to use the BASE mixer stage for solid fill (ie. MDP5_CTL_BLEND_OP_FLAG_BORDER_OUT). The blend_setup() code pretty much handled this already, we just had to figure this out in _atomic_check() and assign the stages appropriately. Also fix the case where there are zero enabled planes, where we also need to enable BORDER_OUT. Signed-off-by: NRob Clark <robdclark@gmail.com>
-
- 18 11月, 2016 17 次提交
-
-
由 Colin Ian King 提交于
Trivial fix to spelling mistake "configutation" to "configuration" in dev_err message Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
cec_read() is non-atomic in the presence of other I2C bus transactions to the same device. This presents a problem when we add support for the TDA9950 CEC engine part - both drivers can be trying to access the device. Avoid the inherent problems by switching to i2c_transfer() instead, which allows us to perform more than one bus transaction atomically. As this means we will be using I2C transactions rather than SMBUS, we have to check that the host supports I2C functionality. Tested-by: NBrian Starkey <brian.starkey@arm.com> Reviewed-by: NBrian Starkey <brian.starkey@arm.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Some TDA998x contain several different I2C devices - there is the HDMI encoder, and there is a TDA9950 CEC engine. These two share the same interrupt signal. In order to allow a driver for the CEC engine to work, we need to be able to share the interrupt with the CEC driver, so convert the handler and registration to allow this to happen. Tested-by: NBrian Starkey <brian.starkey@arm.com> Reviewed-by: NBrian Starkey <brian.starkey@arm.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Disabling the pre-filter block of the TDA998x saves 40mW and the colour conversion block saves 15mW. As we always disable these two blocks, we can power these sections of the chip down to save 55mW of unnecessary power consumption. Tested-by: NBrian Starkey <brian.starkey@arm.com> Reviewed-by: NBrian Starkey <brian.starkey@arm.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Rather than storing the DPMS mode (which will always be on or off) use a boolean to store this instead. Tested-by: NRobin Murphy <robin.murphy@arm.com> Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
tda998x_audio_get_eld() is needlessly complex - the connector associated with the encoder is always our own priv->connector. Remove this complexity, but ensure that there are no races when copying out the ELD. Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Group the TDA998x audio functions together rather than split between two different locations in the file, keeping like code together. Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Separate out the connector initialisation from the rest of the drivers initialisation. Tested-by: NRobin Murphy <robin.murphy@arm.com> Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Group the TDA998x connector functions and funcs structures together before the encoder support, rather than scattered amongst the rest of the file. This keeps like code together. Tested-by: NRobin Murphy <robin.murphy@arm.com> Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
The naming of tda998x_encoder_set_config() is a left-over from when TDA998x was a slave encoder. Since this is part of the initialisation, drop the _encoder from the name, and move it near tda998x_bind(). Tested-by: NRobin Murphy <robin.murphy@arm.com> Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Correct two references to tda998x_connector_get_modes() which were incorrectly referring to tda998x_encoder_get_modes(). Tested-by: NRobin Murphy <robin.murphy@arm.com> Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Check for audio support by the attached sink by consulting the EDID prior to enabling audio over the TMDS link. We must consult the EDID after calling drm_helper_probe_single_connector_modes(), as this can use an override EDID, or load a replacement EDID. Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
The CEA 861B specification indicates the situations when we are able to send each infoframe based on the version of the EDID's CEA extension. Update the tda998x driver to follow the CEA specification wrt sending of infoframes. Since we only support the generation of AVI version 2, this limits us to CEA extension version 3, so we treat CEA extension version 2 as CEA 861 (no infoframes, no audio.) Tested-by: NRobin Murphy <robin.murphy@arm.com> Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Avoid a race between programming audio and an in-progress mode set. A mode set is complex, and disables the ability to send infoframes to the sink, and is disruptive to audio - we have to mute the audio FIFO while doing a mode set. If an attempt is made to start up the audio side, we will undo the audio FIFO mute before the mode set has completed. Move the lock so that we prevent audio interfering with an in-progress mode set. Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Avoid a racy access to the mode clock by storing the current mode clock during a mode set under the audio mutex. This allows us to access it from the audio path in a safe way. Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
As priv->audio_params can now be changed at run time, we need to be more careful about how we deal with a mode set. We must take the audio lock while checking if there's a valid audio configuration. However, it's slightly worse than that - during mode set, we mute the audio, and it must not be unmuted until we have finished the mode set. It is possible that the audio side may start while a mode set is in progress, so take the audio_mutex lock around the whole mode setting procedure. Tested-by: NJon Medhurst <tixy@linaro.org> Acked-by: NJon Medhurst <tixy@linaro.org> Tested-by: NJyri Sarha <jsarha@ti.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
We will need the audio mutex initialised in all cases, so lets move this to be early, rather than only being initialised for the DT case. Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
- 17 11月, 2016 18 次提交
-
-
由 zourongrong 提交于
Add vblank interrupt. Signed-off-by: Rongrong Zou <zourongrong@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NXinliang Liu <xinliang.liu@linaro.org> Acked-by: NSean Paul <seanpaul@chromium.org>
-
由 zourongrong 提交于
VDAC(Video Digital-to-Analog converter) converts the RGB diaital data stream from DE to VGA analog signals. Signed-off-by: Rongrong Zou <zourongrong@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NXinliang Liu <xinliang.liu@linaro.org> Acked-by: NSean Paul <seanpaul@chromium.org>
-
由 zourongrong 提交于
Add display engine function, crtc/plane is initialized here. Signed-off-by: Rongrong Zou <zourongrong@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NXinliang Liu <xinliang.liu@linaro.org> Acked-by: NSean Paul <seanpaul@chromium.org>
-
由 zourongrong 提交于
Add support for fbdev and kms fb management. Signed-off-by: Rongrong Zou <zourongrong@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NXinliang Liu <xinliang.liu@linaro.org> Acked-by: NSean Paul <seanpaul@chromium.org>
-
由 zourongrong 提交于
Hibmc have 32m video memory which can be accessed through PCIe by host, we use ttm to manage these memory. Signed-off-by: Rongrong Zou <zourongrong@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NXinliang Liu <xinliang.liu@linaro.org> Acked-by: NSean Paul <seanpaul@chromium.org>
-
由 zourongrong 提交于
Add DRM master driver for Hisilicon Hibmc SoC which used for Out-of-band management. Blow is the general hardware connection, both the Hibmc and the host CPU are on the same mother board. +----------+ +----------+ | | PCIe | Hibmc | |host CPU( |<----->| display | |arm64,x86)| |subsystem | +----------+ +----------+ Signed-off-by: Rongrong Zou <zourongrong@gmail.com> Reviewed-by: NSean Paul <seanpaul@chromium.org> Reviewed-by: NXinliang Liu <xinliang.liu@linaro.org> Acked-by: NSean Paul <seanpaul@chromium.org>
-
由 Ravikant B Sharma 提交于
Replace direct comparisons to NULL i.e. 'x == NULL' with '!x'. As per coding standard. Signed-off-by: NRavikant B Sharma <ravikant.s2@samsung.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Stefan Christ 提交于
Signed-off-by: NStefan Christ <contact@stefanchrist.eu> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Christophe JAILLET 提交于
'dma_buf_map_attachment()' can not return NULL, so there is no need to check for it. Also add a space in order to improve layout. Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Baoyou Xie 提交于
We get 2 warnings when building kernel with W=1: drivers/gpu/drm/armada/armada_gem.c:215:27: warning: no previous prototype for 'armada_gem_alloc_object' [-Wmissing-prototypes] drivers/gpu/drm/armada/armada_gem.c:423:1: warning: no previous prototype for 'armada_gem_prime_map_dma_buf' [-Wmissing-prototypes] In fact, both functions are only used in the file in which they are declared and don't need a declaration, but can be made static. So this patch marks these functions with 'static'. Signed-off-by: NBaoyou Xie <baoyou.xie@linaro.org> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Russell King 提交于
Now that the drm_connector_register() is gone from tda998x, we can remove the mid-layer from armada-drm, eliminating the load, unload, debugfs_init, and debugfs_cleanup callbacks from armada's drm_driver structure. No functional changes. Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
-
由 Ben Skeggs 提交于
Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ben Skeggs 提交于
Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ben Skeggs 提交于
Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ben Skeggs 提交于
Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ben Skeggs 提交于
Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Ben Skeggs 提交于
GP102/GP104 make life difficult by redefining the channel indices for some registers, but not others. Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
-
由 Hans de Goede 提交于
Various notebooks with nvidia GPUs generate an ACPI_VIDEO_NOTIFY_PROBE acpi-video event when an external device gets plugged in (and again on modesets on that connector), the default behavior in the acpi-video driver for this is to send a KEY_SWITCHVIDEOMODE evdev event, which causes e.g. gnome-settings-daemon to ask us to rescan the connectors (good), but also causes g-s-d to switch to mirror mode on a newly plugged monitor rather then using the monitor to extend the desktop (bad) as KEY_SWITCHVIDEOMODE is supposed to switch between extend the desktop vs mirror mode. More troublesome are the repeated ACPI_VIDEO_NOTIFY_PROBE events on changing the mode on the connector, which cause g-s-d to switch between mirror/extend mode, which causes a new ACPI_VIDEO_NOTIFY_PROBE event and we end up with an endless loop. This commit fixes this by adding an acpi notifier block handler to nouveau_display.c to intercept ACPI_VIDEO_NOTIFY_PROBE and: 1) Wake-up runtime suspended GPUs and call drm_helper_hpd_irq_event() on them, this is necessary in some cases for the GPU to detect connector hotplug events while runtime suspended 2) Return NOTIFY_BAD to stop acpi-video from emitting a bogus KEY_SWITCHVIDEOMODE key-press event There already is another acpi notifier block handler registered in drivers/gpu/drm/nouveau/nvkm/engine/device/acpi.c, but that is not suitable since that one gets unregistered on runtime suspend, and we also want to intercept ACPI_VIDEO_NOTIFY_PROBE when runtime suspended. Signed-off-by: NHans de Goede <hdegoede@redhat.com>
-