Dear maintainers/reviewers, just an UP to remind you that this patcheset is waiting for your feedback. Patches 1-12 and 18-19 mainly concern drivers for the various hardware IP. Patches 13-16 add debug to those drivers. Patches 17 is the DRM driver. I know that review 10K lines isn't easy, takes times and is not fun, but without your comments/remarks it will be difficult for me to deliver you something with the expected level of quality. Regards, Benjamin 2014-04-08 16:14 GMT+02:00 Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx>: > You can found the patches here: > > git://git.linaro.org/people/benjamin.gaignard/kernel.git > on branch: drm_kms_for_next > > Regards, > Benjamin > > > 2014-04-08 14:27 GMT+02:00 Rob Clark <robdclark@xxxxxxxxx>: >> On Tue, Apr 8, 2014 at 8:19 AM, Benjamin Gaignard >> <benjamin.gaignard@xxxxxxxxxx> wrote: >>> This series of patches add the support of DRM/KMS drivers for STMicroelectronics >>> chipsets stih416 and stih407. >> >> *finally* \o/ >> >> one small request.. got a git branch somewhere? This patchset is big >> enough that it would be convenient for reviewing to be able to >> git-fetch.. >> >> BR, >> -R >> >>> Hardware is split in two main blocks: Compositor and TVout. Each of them >>> includes specific hardware IPs and the display timing are controlled by a specific >>> Video Timing Generator hardware IP (VTG). >>> >>> Compositor is made of the follow hardware IPs: >>> - GDP (Generic Display Pipeline) which is an entry point for graphic (RGB) >>> buffers >>> - VDP (Video Diplay Pipeline) which is an entry point for video (YUV) buffers >>> - HQVDP (High Quality Video Display Processor) that supports scaling, >>> deinterlacing and some miscellaneous image quality improvements. >>> It fetches the Video decoded buffers from memory, processes them and pushes >>> them to the Compositor through a HW dedicated bus. >>> - Mixer is responsible of mixing all the entries depending of their >>> respective z-order and layout >>> >>> TVout is divided in 3 parts: >>> - HDMI to generate HDMI signals, depending of chipset version HDMI phy can >>> change. >>> - HDA to generate signals for HD analog TV >>> - VIP to control/switch data path coming from Compositor >>> >>> On stih416 compositor and Tvout are on different dies so a Video Trafic Advance >>> inter-die Communication mechanism (VTAC) is needed. >>> >>> +---------------------------------------------+ +----------------------------------------+ >>> | +-------------------------------+ +----+ | | +----+ +--------------------------+ | >>> | | | | | | | | | | +---------+ +----+ | | >>> | | +----+ +------+ | | | | | | | | | VIP |---->|HDMI| | | >>> | | |GPD +------------->| | | | | | | | | | | | +----+ | | >>> | | +----+ |Mixer |--|-->| | | | | |---|->| switcher| | | >>> | | | | | | | | | | | | | | +----+ | | >>> | | | | | | | | | | | | | |---->|HDA | | | >>> | | +------+ | |VTAC|========>|VTAC| | +---------+ +----+ | | >>> | | | | | | | | | | | | >>> | | Compositor | | | | | | | | TVout | | >>> | +-------------------------------+ | | | | | | +--------------------------+ | >>> | ^ | | | | | | ^ | >>> | | | | | | | | | | >>> | +--------------+ | | | | | | +-------------+ | >>> | | VTG (master) |----->| | | | | |----->| VTG (slave) | | >>> | +--------------+ +----+ | | +----+ +-------------+ | >>> |Digital die | | Analog Die| >>> +---------------------------------------------+ +----------------------------------------+ >>> >>> On stih407 Compositor and Tvout are on the same die >>> >>> +-----------------------------------------------------------------+ >>> | +-------------------------------+ +--------------------------+ | >>> | | | | +---------+ +----+ | | >>> | | +----+ +------+ | | | VIP |---->|HDMI| | | >>> | | |GPD +------------->| | | | | | +----+ | | >>> | | +----+ |Mixer |--|--|->| switcher| | | >>> | | +----+ +-----+ | | | | | | +----+ | | >>> | | |VDP +-->+HQVDP+--->| | | | | |---->|HDA | | | >>> | | +----+ +-----+ +------+ | | +---------+ +----+ | | >>> | | | | | | >>> | | Compositor | | TVout | | >>> | +-------------------------------+ +--------------------------+ | >>> | ^ ^ | >>> | | | | >>> | +--------------+ | >>> | | VTG | | >>> | +--------------+ | >>> |Digital die | >>> +-----------------------------------------------------------------+ >>> >>> In addition of the drivers for the IPs listed before a thin I2C driver (hdmiddc) is used >>> by HDMI driver to retrieve EDID for monitor. >>> >>> To unify interfaces of GDP and VDP we create a "layer" interface called by >>> compositor to control both GPD and VDP. >>> >>> Hardware have memory contraints (alignment, contiguous) so we use CMA drm helpers functions >>> to allocate frame buffer. >>> >>> File naming convention is: >>> - sti_* for IPs drivers >>> - sti_drm_* for drm functions implementation. >>> >>> Benjamin Gaignard (18): >>> drm: sti: add bindings for DRM driver >>> drm: sti: add VTG driver >>> drm: sti: add VTAC drivers >>> drm: sti: add HDMI driver >>> drm: sti: add I2C client driver for HDMI >>> drm: sti: add HDA driver >>> drm: sti: add TVOut driver >>> drm: sti: add sti layer interface definition >>> drm: sti: add GDP layer >>> drm: sti: add VID layer >>> drm: sti: add Mixer >>> drm: sti: add Compositor >>> drm: sti: add debug to GDP >>> drm: sti: add debug to VID >>> drm: sti: add debug to TVout >>> drm: sti: add debug to mixer >>> drm: sti: Add DRM driver itself >>> drm: sti: add HQVDP driver >>> >>> Vincent Abriou (1): >>> drm: sti: rename mixer registers to be main/aux independent >>> >>> .../devicetree/bindings/gpu/st,stih4xx.txt | 177 ++++ >>> drivers/gpu/drm/Kconfig | 2 + >>> drivers/gpu/drm/Makefile | 1 + >>> drivers/gpu/drm/sti/Kconfig | 26 + >>> drivers/gpu/drm/sti/Makefile | 23 + >>> drivers/gpu/drm/sti/sti_compositor.c | 189 ++++ >>> drivers/gpu/drm/sti/sti_compositor.h | 84 ++ >>> drivers/gpu/drm/sti/sti_ddc.c | 56 + >>> drivers/gpu/drm/sti/sti_drm_connector.c | 195 ++++ >>> drivers/gpu/drm/sti/sti_drm_connector.h | 16 + >>> drivers/gpu/drm/sti/sti_drm_crtc.c | 440 ++++++++ >>> drivers/gpu/drm/sti/sti_drm_crtc.h | 21 + >>> drivers/gpu/drm/sti/sti_drm_drv.c | 484 +++++++++ >>> drivers/gpu/drm/sti/sti_drm_drv.h | 48 + >>> drivers/gpu/drm/sti/sti_drm_encoder.c | 201 ++++ >>> drivers/gpu/drm/sti/sti_drm_encoder.h | 16 + >>> drivers/gpu/drm/sti/sti_drm_plane.c | 195 ++++ >>> drivers/gpu/drm/sti/sti_drm_plane.h | 16 + >>> drivers/gpu/drm/sti/sti_gdp.c | 726 +++++++++++++ >>> drivers/gpu/drm/sti/sti_gdp.h | 75 ++ >>> drivers/gpu/drm/sti/sti_hda.c | 826 +++++++++++++++ >>> drivers/gpu/drm/sti/sti_hda.h | 14 + >>> drivers/gpu/drm/sti/sti_hdmi.c | 1045 +++++++++++++++++++ >>> drivers/gpu/drm/sti/sti_hdmi.h | 198 ++++ >>> drivers/gpu/drm/sti/sti_hdmi_tx3g0c55phy.c | 398 +++++++ >>> drivers/gpu/drm/sti/sti_hdmi_tx3g4c28phy.c | 224 ++++ >>> drivers/gpu/drm/sti/sti_hqvdp.c | 1089 ++++++++++++++++++++ >>> drivers/gpu/drm/sti/sti_hqvdp.h | 55 + >>> drivers/gpu/drm/sti/sti_hqvdp_lut.h | 373 +++++++ >>> drivers/gpu/drm/sti/sti_layer.c | 324 ++++++ >>> drivers/gpu/drm/sti/sti_layer.h | 116 +++ >>> drivers/gpu/drm/sti/sti_mixer.c | 405 ++++++++ >>> drivers/gpu/drm/sti/sti_mixer.h | 54 + >>> drivers/gpu/drm/sti/sti_tvout.c | 863 ++++++++++++++++ >>> drivers/gpu/drm/sti/sti_tvout.h | 105 ++ >>> drivers/gpu/drm/sti/sti_vid.c | 259 +++++ >>> drivers/gpu/drm/sti/sti_vid.h | 34 + >>> drivers/gpu/drm/sti/sti_vtac_rx.c | 140 +++ >>> drivers/gpu/drm/sti/sti_vtac_tx.c | 152 +++ >>> drivers/gpu/drm/sti/sti_vtac_utils.h | 52 + >>> drivers/gpu/drm/sti/sti_vtg.c | 438 ++++++++ >>> drivers/gpu/drm/sti/sti_vtg.h | 20 + >>> drivers/gpu/drm/sti/sti_vtg_utils.c | 99 ++ >>> drivers/gpu/drm/sti/sti_vtg_utils.h | 29 + >>> 44 files changed, 10303 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/gpu/st,stih4xx.txt >>> create mode 100644 drivers/gpu/drm/sti/Kconfig >>> create mode 100644 drivers/gpu/drm/sti/Makefile >>> create mode 100644 drivers/gpu/drm/sti/sti_compositor.c >>> create mode 100644 drivers/gpu/drm/sti/sti_compositor.h >>> create mode 100644 drivers/gpu/drm/sti/sti_ddc.c >>> create mode 100644 drivers/gpu/drm/sti/sti_drm_connector.c >>> create mode 100644 drivers/gpu/drm/sti/sti_drm_connector.h >>> create mode 100644 drivers/gpu/drm/sti/sti_drm_crtc.c >>> create mode 100644 drivers/gpu/drm/sti/sti_drm_crtc.h >>> create mode 100644 drivers/gpu/drm/sti/sti_drm_drv.c >>> create mode 100644 drivers/gpu/drm/sti/sti_drm_drv.h >>> create mode 100644 drivers/gpu/drm/sti/sti_drm_encoder.c >>> create mode 100644 drivers/gpu/drm/sti/sti_drm_encoder.h >>> create mode 100644 drivers/gpu/drm/sti/sti_drm_plane.c >>> create mode 100644 drivers/gpu/drm/sti/sti_drm_plane.h >>> create mode 100644 drivers/gpu/drm/sti/sti_gdp.c >>> create mode 100644 drivers/gpu/drm/sti/sti_gdp.h >>> create mode 100644 drivers/gpu/drm/sti/sti_hda.c >>> create mode 100644 drivers/gpu/drm/sti/sti_hda.h >>> create mode 100644 drivers/gpu/drm/sti/sti_hdmi.c >>> create mode 100644 drivers/gpu/drm/sti/sti_hdmi.h >>> create mode 100644 drivers/gpu/drm/sti/sti_hdmi_tx3g0c55phy.c >>> create mode 100644 drivers/gpu/drm/sti/sti_hdmi_tx3g4c28phy.c >>> create mode 100644 drivers/gpu/drm/sti/sti_hqvdp.c >>> create mode 100644 drivers/gpu/drm/sti/sti_hqvdp.h >>> create mode 100644 drivers/gpu/drm/sti/sti_hqvdp_lut.h >>> create mode 100644 drivers/gpu/drm/sti/sti_layer.c >>> create mode 100644 drivers/gpu/drm/sti/sti_layer.h >>> create mode 100644 drivers/gpu/drm/sti/sti_mixer.c >>> create mode 100644 drivers/gpu/drm/sti/sti_mixer.h >>> create mode 100644 drivers/gpu/drm/sti/sti_tvout.c >>> create mode 100644 drivers/gpu/drm/sti/sti_tvout.h >>> create mode 100644 drivers/gpu/drm/sti/sti_vid.c >>> create mode 100644 drivers/gpu/drm/sti/sti_vid.h >>> create mode 100644 drivers/gpu/drm/sti/sti_vtac_rx.c >>> create mode 100644 drivers/gpu/drm/sti/sti_vtac_tx.c >>> create mode 100644 drivers/gpu/drm/sti/sti_vtac_utils.h >>> create mode 100644 drivers/gpu/drm/sti/sti_vtg.c >>> create mode 100644 drivers/gpu/drm/sti/sti_vtg.h >>> create mode 100644 drivers/gpu/drm/sti/sti_vtg_utils.c >>> create mode 100644 drivers/gpu/drm/sti/sti_vtg_utils.h >>> >>> -- >>> 1.9.0 >>> >>> _______________________________________________ >>> dri-devel mailing list >>> dri-devel@xxxxxxxxxxxxxxxxxxxxx >>> http://lists.freedesktop.org/mailman/listinfo/dri-devel > > > > -- > Benjamin Gaignard > > Graphic Working Group > > Linaro.org │ Open source software for ARM SoCs > > Follow Linaro: Facebook | Twitter | Blog -- Benjamin Gaignard Graphic Working Group Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel