Ok, let's do one more full review round. The mode filtering issue was
the main reason for this new patch series version. However, I found
couple other things to fix too after scrutinizing the patches once
more.
Changes since v3 version of the patch-set:
* drm/tilcdc: Add support for external tda998x encoder
- Hijack external connectors helper functions
- Remove select of nonexistent DRM_TILCDC_INIT in tilcdc Kconfig
- Correct author mail address to tilcdc_exteral.h
* drm/tilcdc: Add …
[View More]DRM_TILCDC_SLAVE_COMPAT for ti,tilcdc,slave binding
- Add a header file for tilcdc_slave_compat.dtb symbol declarations
Changes since v2 version of the patch-set:
- use obj-y in Makefle for tilcdc subdir in:
"drm/tilcdc: Force building of DRM_TILCDC_SLAVE_COMPAT"
- move to last:
"drm/tilcdc: Decrement refcount of ep-node from of_graph_get_next_endpoint"
Changes since first version of the patch-set:
- Rename DRM_TILCDC_INIT to DRM_TILCDC_SLAVE_COMPAT and make it visible
- Add separate:
drm/tilcdc: Decrement refcount of ep-node from of_graph_get_next_endpoint
- Reduce info-level spam
- Use component_master_add_with_match()
- Be more explicit about tda998x being the only supported external encoder
Remove tilcdc slave support and connect to tda998x trough its
component DRM API. For dtb backward compatibility the code creates at
boot time a DT overlay based on the earlier binding. The overlay
conforms to the new graph based binding.
The "drm/tilcdc: Decrement refcount of ep-node from
of_graph_get_next_endpoint" should probably not be merged. The "of:
Decrement refcount of previous endpoint in of_graph_get_next_endpoint"
is eventually going to be merged and before that leaking of two
of-node refcount increments each time the module is loaded is not that
serious. The of-nodes live forever anyway.
The merge of the dts patch can be delayed until the next merger
window, when the other patches are already in. The
DRM_TILCDC_SLAVE_COMPAT should keep the bbb HDMI operational until
then.
The first patch is just a bugfix and can be applied or dropped
independently.
Jyri Sarha (7):
drm/tilcdc: Fix module unloading
drm/tilcdc: Remove tilcdc slave support for tda998x driver
drm/tilcdc: Add support for external tda998x encoder
drm/tilcdc: Add DRM_TILCDC_SLAVE_COMPAT for ti,tilcdc,slave binding
support
drm/tilcdc: Force building of DRM_TILCDC_SLAVE_COMPAT
ARM: dts: am335x-boneblack: Use new binding for HDMI
drm/tilcdc: Decrement refcount of ep-node from
of_graph_get_next_endpoint
.../devicetree/bindings/drm/tilcdc/slave.txt | 18 -
.../devicetree/bindings/drm/tilcdc/tilcdc.txt | 27 ++
arch/arm/boot/dts/am335x-boneblack.dts | 20 +-
drivers/gpu/drm/Makefile | 2 +-
drivers/gpu/drm/tilcdc/Kconfig | 12 +
drivers/gpu/drm/tilcdc/Makefile | 5 +-
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 36 +-
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 94 +++--
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 6 +-
drivers/gpu/drm/tilcdc/tilcdc_external.c | 159 ++++++++
drivers/gpu/drm/tilcdc/tilcdc_external.h | 25 ++
drivers/gpu/drm/tilcdc/tilcdc_slave.c | 411 ---------------------
drivers/gpu/drm/tilcdc/tilcdc_slave.h | 26 --
drivers/gpu/drm/tilcdc/tilcdc_slave_compat.c | 270 ++++++++++++++
drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dts | 72 ++++
drivers/gpu/drm/tilcdc/tilcdc_slave_compat.h | 25 ++
16 files changed, 718 insertions(+), 490 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/drm/tilcdc/slave.txt
create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_external.c
create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_external.h
delete mode 100644 drivers/gpu/drm/tilcdc/tilcdc_slave.c
delete mode 100644 drivers/gpu/drm/tilcdc/tilcdc_slave.h
create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_slave_compat.c
create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_slave_compat.dts
create mode 100644 drivers/gpu/drm/tilcdc/tilcdc_slave_compat.h
--
1.9.1
[View Less]
Hi Dave, sorry, I'm a bit late this week with the i915 fixes.
BR,
Jani.
The following changes since commit 5ebe6afaf0057ac3eaeb98defd5456894b446d22:
Linux 4.1-rc2 (2015-05-03 19:22:23 -0700)
are available in the git repository at:
git://anongit.freedesktop.org/drm-intel tags/drm-intel-fixes-2015-05-08
for you to fetch changes up to 736a69ca8c99a595a523d2fece66491b89168da6:
drm/i915: Drop PIPE-A quirk for 945GSE HP Mini (2015-05-07 15:28:34 +0300)
-----------------------------------…
[View More]-----------------------------
Chris Wilson (1):
drm/i915: Drop PIPE-A quirk for 945GSE HP Mini
Jani Nikula (1):
drm/i915/dp: there is no audio on port A
Lukas Wunner (2):
drm/i915: Assume dual channel LVDS if pixel clock necessitates it
drm/i915: Add missing MacBook Pro models with dual channel LVDS
Sonika Jindal (1):
drm/i915: Sink rate read should be saved in deca-kHz
drivers/gpu/drm/i915/intel_display.c | 3 ---
drivers/gpu/drm/i915/intel_dp.c | 9 +++++----
drivers/gpu/drm/i915/intel_lvds.c | 26 ++++++++++++++++++++++++--
3 files changed, 29 insertions(+), 9 deletions(-)
--
Jani Nikula, Intel Open Source Technology Center
[View Less]
From: Thierry Reding <treding(a)nvidia.com>
Some setups do not register a default VGA device, in which case the VGA
arbiter will still complain about the (non-existent) PCI device being a
non-VGA device.
Fix this by making the error message conditional on a default VGA device
having been set up. Note that the easy route of erroring out early isn't
going to work because otherwise priv->target won't be properly updated.
Signed-off-by: Thierry Reding <treding(a)nvidia.com>
---
…
[View More]drivers/gpu/vga/vgaarb.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c
index 7bcbf863656e..3b1e65b3d454 100644
--- a/drivers/gpu/vga/vgaarb.c
+++ b/drivers/gpu/vga/vgaarb.c
@@ -1091,8 +1091,11 @@ static ssize_t vga_arb_write(struct file *file, const char __user * buf,
vgadev = vgadev_find(pdev);
pr_debug("vgaarb: vgadev %p\n", vgadev);
if (vgadev == NULL) {
- pr_err("vgaarb: this pci device is not a vga device\n");
- pci_dev_put(pdev);
+ if (pdev) {
+ pr_err("vgaarb: this pci device is not a vga device\n");
+ pci_dev_put(pdev);
+ }
+
ret_val = -ENODEV;
goto done;
}
--
2.3.5
[View Less]
I'm pleased to announce the initial release of the new amdgpu driver.
This is a partial replacement for the radeon driver for newer AMD
asics. A number of components are still shared. Here is a comparison
of the radeon and amdgpu stacks:
1. radeon stack
kernel driver: radeon.ko
libdrm: libdrm_radeon
mesa: radeon, r200, r300, r600, radeonsi
ddx: xf86-video-ati
2. amdgpu stack
kernel driver: amdgpu.ko
libdrm: libdrm_amdgpu
mesa: radeonsi
ddx: xf86-video-amdgpu
Older asics will continue to be …
[View More]supported by the radeon stack; new
asics will be supported by the amdgpu stack. CI (Sea Islands) asics
have support in both driver stacks, but this is purely for testing
purposes. CI parts are officially supported in the radeon stack.
Support for CI on the amdgpu stack is determined by a config option in
the kernel. CI support is not enabled by default for amdgpu.
Most of our focus has been on Carrizo support, so there are some gaps
in the dGPU support for Tonga and Iceland, notably power management.
Those gaps will be filled in eventually.
Also included in this code base are full register headers for just
about every block on the asics.
Barring the gaps mentioned above, the driver stack is functionally on
par with radeon including:
- OpenGL 3.3 support using the radeonsi mesa driver
- Video decode support using UVD
- Video encode support using VCE
The code can be found in the amdgpu branches of the following git trees.
xf86-video-amdgpu:
http://cgit.freedesktop.org/~agd5f/xf86-video-amdgpu/log/?h=amdgpu
libdrm:
http://cgit.freedesktop.org/~agd5f/drm/log/?h=amdgpu
kernel:
http://cgit.freedesktop.org/~agd5f/linux/log/?h=amdgpu
mesa:
http://cgit.freedesktop.org/~mareko/mesa/log/?h=amdgpu
To test the new driver stack you will need to specify a device section
in your xorg.conf with the driver set to amdgpu rather than radeon.
Please review!
Thanks,
The AMD Linux Driver Team
[View Less]