[PATCH v15] drm/bridge: add support for sn65dsi86 bridge driver

Andrzej Hajda a.hajda at samsung.com
Fri Jul 27 06:32:50 UTC 2018


On 20.07.2018 08:54, Sandeep Panda wrote:
> Add support for TI's sn65dsi86 dsi2edp bridge chip.
> The chip converts DSI transmitted signal to eDP signal,
> which is fed to the connected eDP panel.
>
> This chip can be controlled via either i2c interface or
> dsi interface. Currently in driver all the control registers
> are being accessed through i2c interface only.
> Also as of now HPD support has not been added to bridge
> chip driver.
>
> Changes in v1:
>  - Split the dt-bindings and the driver support into separate patches
>    (Andrzej Hajda).
>  - Use of gpiod APIs to parse and configure gpios instead of obsolete ones
>    (Andrzej Hajda).
>  - Use macros to define the register offsets (Andrzej Hajda).
>
> Changes in v2:
>  - Separate out edp panel specific HW resource handling from bridge
>    driver and create a separate edp panel drivers to handle panel
>    specific mode information and HW resources (Sean Paul).
>  - Replace pr_* APIs to DRM_* APIs to log error or debug information
>    (Sean Paul).
>  - Remove some of the unnecessary structure/variable from driver (Sean
>    Paul).
>  - Rename the function and structure prefix "sn65dsi86" to "ti_sn_bridge"
>    (Sean Paul / Rob Herring).
>  - Remove most of the hard-coding and modified the bridge init sequence
>    based on current mode (Sean Paul).
>  - Remove the existing function to retrieve the EDID data and
>    implemented this as an i2c_adapter and use drm_get_edid() (Sean Paul).
>  - Remove the dummy irq handler implementation, will add back the
>    proper irq handling later (Sean Paul).
>  - Capture the required enable gpios in a single array based on dt entry
>    instead of having individual descriptor for each gpio (Sean Paul).
>
> Changes in v3:
>  - Remove usage of irq_gpio and replace it as "interrupts" property (Rob
>    Herring).
>  - Remove the unnecessary header file inclusions (Sean Paul).
>  - Rearrange the header files in alphabetical order (Sean Paul).
>  - Use regmap interface to perform i2c transactions.
>  - Update Copyright/License field and address other review comments
>    (Jordan Crouse).
>
> Changes in v4:
>  - Update License/Copyright (Sean Paul).
>  - Add Kconfig and Makefile changes (Sean Paul).
>  - Drop i2c gpio handling from this bridge driver, since i2c sda/scl gpios
>    will be handled by i2c master.
>  - Update required supplies names.
>  - Remove unnecessary goto statements (Sean Paul).
>  - Add mutex lock to power_ctrl API to avoid race conditions (Sean
>    Paul).
>  - Add support to parse reference clk frequency from dt(optional).
>  - Update the bridge chip enable/disable sequence.
>
> Changes in v5:
>  - Fixed Kbuild test service reported warnings.
>
> Changes in v6:
>  - Use PM runtime based ref-counting instead of local ref_count mechanism
>    (Stephen Boyd).
>  - Clean up some debug logs and indentations (Sean Paul).
>  - Simplify dp rate calculation (Sean Paul).
>  - Add support to configure refclk based on input REFCLK pin or DACP/N
>    pin (Stephen Boyd).
>
> Changes in v7:
>  - Use static supply entries instead of dynamic allocation (Andrzej
>    Hajda).
>  - Defer bridge driver probe if panel is not probed (Andrzej Hajda).
>  - Update of_graph APIs for correct node reference management. (Andrzej
>    Hajda).
>  - Remove local display_mode object (Andrzej Hajda).
>  - Remove version id check function from driver.
>
> Changes in v8:
>  - Move dsi register/attach function to bridge driver probe (Andrzej
>    Hajda).
>  - Introduce a new helper function to write 16bit words into consecutive
>    registers (Andrzej Hajda).
>  - Remove unnecessary macros (Andrzej Hajda).
>
> Changes in v9:
>  - Remove dsi register/attach from bridge probe, since dsi dev register
>    completion also waits for any panel or bridge to get added. This creates
>    deadlock situation when bridge driver calls dsi dev register and
>    attach before bridge add, in its probe function.
>  - Fix issues faced during testing of bridge driver on actual HW.
>  - Remove unnecessary initializations (Stephen Boyd).
>  - Use local refclk lut size instead of global macro (Sean Paul).
>
> Changes in v10:
>  - Use refclk to determine if continuous dsi clock is needed or not.
>
> Changes in v11:
>  - Read DPPLL_SRC register to determine continuous clock instead of
>    using refclk handle (Stephen Boyd).
>
> Changes in v12:
>  - Explain in comment as in why dsi dev registration is done in
>    bridge_attach (Andrzej Hajda).
>  - Move HPD disable to bridge_pre_enable (Andrzej Hajda).
>  - Make panel/DDC exclusive until HPD support is added (Andrzej Hajda).
>
> Changes in v13:
>  - eDP panels report EDID via DP-AUX channel, so remove support for
>    dedicated DDC line (Andrzej Hajda).
>
> Changes in v14:
>  - Remove unnecessary drm_panel checks (Andrzej Hajda).
>
> Signed-off-by: Sandeep Panda <spanda at codeaurora.org>

I will queue both patches to drm-misc.

Reviewed-by: Andrzej Hajda <a.hajda at samsung.com>

 --
Regards
Andrzej




More information about the dri-devel mailing list