Re: [PATCH v2] drm/bridge: ps8640: Add software to support aux defer
From: Doug Anderson
Date: Wed Oct 05 2022 - 11:14:51 EST
Hi,
On Fri, Sep 30, 2022 at 7:20 AM Doug Anderson <dianders@xxxxxxxxxxxx> wrote:
>
> Hi,
>
> On Thu, Sep 29, 2022 at 9:25 PM Jason Yen
> <jason.yen@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > This chip can not handle aux defer if the host directly program
> > its aux registers to access edid/dpcd. So we need let software
> > to handle the aux defer situation.
> >
> > Signed-off-by: Jason Yen <jason.yen@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
> > ---
> >
> > Changes in v2:
> > - Add aux defer handler
> > - Remove incorrect statements
> >
> > drivers/gpu/drm/bridge/parade-ps8640.c | 9 ++++++++-
> > 1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
> > index 31e88cb39f8a..76ada237096d 100644
> > --- a/drivers/gpu/drm/bridge/parade-ps8640.c
> > +++ b/drivers/gpu/drm/bridge/parade-ps8640.c
> > @@ -286,7 +286,6 @@ static ssize_t ps8640_aux_transfer_msg(struct drm_dp_aux *aux,
> > }
> >
> > switch (data & SWAUX_STATUS_MASK) {
> > - /* Ignore the DEFER cases as they are already handled in hardware */
> > case SWAUX_STATUS_NACK:
> > case SWAUX_STATUS_I2C_NACK:
> > /*
> > @@ -303,6 +302,14 @@ static ssize_t ps8640_aux_transfer_msg(struct drm_dp_aux *aux,
> > case SWAUX_STATUS_ACKM:
> > len = data & SWAUX_M_MASK;
> > break;
> > + case SWAUX_STATUS_DEFER:
> > + case SWAUX_STATUS_I2C_DEFER:
> > + if (is_native_aux)
> > + msg->reply |= DP_AUX_NATIVE_REPLY_DEFER;
> > + else
> > + msg->reply |= DP_AUX_I2C_REPLY_DEFER;
> > + len = data & SWAUX_M_MASK;
> > + break;
>
> This seems fine to me now. There is nothing too controversial here but
> I'll still give this a few days on the list for anyone else to speak
> up. I'll plan to land it midway through next week unless anything
> comes up.
>
> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
As promised, pushed to drm-misc-next:
562d2dd87028 drm/bridge: ps8640: Add software to support aux defer