[PATCH 0/4] drm/mipi-dbi: Support panel drivers
Noralf Trønnes
noralf at tronnes.org
Thu Aug 1 13:52:45 UTC 2019
This series adds drm_panel support to drm_mipi_dbi. This avoids having 2
drivers for the same controller, one per interface DPI/DBI. Some display
controllers like the ILI9341 support both interfaces and some
displays/panels make both these interfaces available.
Some info about why MIPI DBI is special:
MIPI DSI (Display Serial Interface) and MIPI DPI (Display Pixel
Interface) needs specialiced hardware and thus they have interface
drivers for this. MIPI DBI (Display Bus Interface) on the other hand
reuses existing busses like SPI/8080/6800 and in the case of SPI just
reuses the exising SPI subsystem. All the panels I have seen that have
onboard RAM and can receive pixels over DBI needs to initialize the
controller as well. This means that both the panel driver and the
interface driver needs access to the same bus device.
Changes since RFC[1]:
- Instead of starting with Josef's driver[2], I've started with moving
the existing ili9341 driver into drm/panel and then move over mi0283qt
as well since it has a ili9341 controller. Josef can then add support
for his panel to this driver. His panel can support both interface
modes.
- Emil mentioned that the DRM driver name is ABI so I've honoured that.
- The DRM driver structure is now defined in the driver using a macro
instead of doing it in drm_mipi_dbi. This is necessary for file open to
take a ref on the driver module.
Another thing:
Looking at drm_panel.c I couldn't find anything that pins the panel
driver module while the panel is attached to the connector. Shouldn't
struct drm_panel_funcs have a module owner field?
Noralf.
[1] https://patchwork.freedesktop.org/series/64398/
[2] https://patchwork.freedesktop.org/patch/316528/
Noralf Trønnes (4):
drm/mipi-dbi: Support command mode panel drivers
drm/tiny/ili9341: Move driver to drm/panel
drm/tiny/mi0283qt: Move driver to panel-ilitek-ili9341
drm/panel/ili9341: Support DPI panels
MAINTAINERS | 16 +-
drivers/gpu/drm/drm_mipi_dbi.c | 92 ++++
drivers/gpu/drm/panel/Kconfig | 13 +
drivers/gpu/drm/panel/Makefile | 1 +
drivers/gpu/drm/panel/panel-ilitek-ili9341.c | 469 +++++++++++++++++++
drivers/gpu/drm/tiny/Kconfig | 24 -
drivers/gpu/drm/tiny/Makefile | 2 -
drivers/gpu/drm/tiny/ili9341.c | 268 -----------
drivers/gpu/drm/tiny/mi0283qt.c | 294 ------------
include/drm/drm_mipi_dbi.h | 34 ++
10 files changed, 618 insertions(+), 595 deletions(-)
create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9341.c
delete mode 100644 drivers/gpu/drm/tiny/ili9341.c
delete mode 100644 drivers/gpu/drm/tiny/mi0283qt.c
--
2.20.1
More information about the dri-devel
mailing list