lkml.org 
[lkml]   [2019]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 4/7] drm/bridge: Prepare Analogix anx6345 support
    Date
    Add bit definitions required for the anx6345 and add a
    sanity check in anx_dp_aux_transfer.

    Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
    Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
    Signed-off-by: Torsten Duwe <duwe@suse.de>
    ---
    drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c | 2 +-
    drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h | 8 ++++++++
    drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h | 3 +++
    3 files changed, 12 insertions(+), 1 deletion(-)

    diff --git a/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c b/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c
    index d6016f789d80..e9d2ed4d410d 100644
    --- a/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c
    +++ b/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c
    @@ -124,7 +124,7 @@ ssize_t anx_dp_aux_transfer(struct regmap *map_dptx,
    else /* For non-zero-sized set the length field. */
    ctrl1 |= (msg->size - 1) << SP_AUX_LENGTH_SHIFT;

    - if ((msg->request & DP_AUX_I2C_READ) == 0) {
    + if ((msg->size > 0) && ((msg->request & DP_AUX_I2C_READ) == 0)) {
    /* When WRITE | MOT write values to data buffer */
    err = regmap_bulk_write(map_dptx,
    SP_DP_BUF_DATA0_REG, buffer,
    diff --git a/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h b/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h
    index 30436c88f181..95ab89eecc60 100644
    --- a/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h
    +++ b/drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h
    @@ -83,7 +83,11 @@
    #define SP_CHA_STA BIT(2)
    /* Bits for DP System Control Register 3 */
    #define SP_HPD_STATUS BIT(6)
    +#define SP_HPD_FORCE BIT(5)
    +#define SP_HPD_CTRL BIT(4)
    #define SP_STRM_VALID BIT(2)
    +#define SP_STRM_FORCE BIT(1)
    +#define SP_STRM_CTRL BIT(0)
    /* Bits for DP System Control Register 4 */
    #define SP_ENHANCED_MODE BIT(3)

    @@ -128,6 +132,9 @@
    #define SP_LINK_BW_SET_MASK 0x1f
    #define SP_INITIAL_SLIM_M_AUD_SEL BIT(5)

    +/* DP Lane Count Setting Register */
    +#define SP_DP_LANE_COUNT_SET_REG 0xa1
    +
    /* DP Training Pattern Set Register */
    #define SP_DP_TRAINING_PATTERN_SET_REG 0xa2

    @@ -141,6 +148,7 @@

    /* DP Link Training Control Register */
    #define SP_DP_LT_CTRL_REG 0xa8
    +#define SP_DP_LT_INPROGRESS 0x80
    #define SP_LT_ERROR_TYPE_MASK 0x70
    # define SP_LT_NO_ERROR 0x00
    # define SP_LT_AUX_WRITE_ERROR 0x01
    diff --git a/drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h b/drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h
    index f48293f86f9d..e3391a50b5d1 100644
    --- a/drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h
    +++ b/drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h
    @@ -188,6 +188,9 @@
    #define SP_VBIT BIT(1)
    #define SP_AUDIO_LAYOUT BIT(0)

    +/* Analog Debug Register 1 */
    +#define SP_ANALOG_DEBUG1_REG 0xdc
    +
    /* Analog Debug Register 2 */
    #define SP_ANALOG_DEBUG2_REG 0xdd
    #define SP_FORCE_SW_OFF_BYPASS 0x20
    --
    2.16.4
    \
     
     \ /
      Last update: 2019-06-04 14:25    [W:8.327 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site