Messages in this thread | | | Date | Wed, 10 Aug 2022 09:23:50 -0400 | Subject | Re: [PATCH v2 1/3] drm/dp_mst: add passthrough_aux to struct drm_dp_mst_port | From | Hamza Mahfooz <> |
| |
On 2022-08-09 18:01, Lyude Paul wrote: > Ah yes of course! Probably should have asked when I gave the r-b :). Also, > just so patchwork actually catches it I will say the magic incantation: > > Reviewed-by: Lyude Paul <lyude@redhat.com> > > Do we want to merge just this patch to drm-misc-next, or do you want to merge > the whole series through there? If you'd rather just merge this through amd's > branch I'm fine with that as well
In that case, it is preferable to have all of the patches in this series to get merged through amd's branch.
> > On Tue, 2022-08-09 at 11:15 -0400, Hamza Mahfooz wrote: >> Hey Lyude, >> >> On 2022-08-05 17:17, Lyude Paul wrote: >>> lgtm! >>> >> >> Any chance you can apply this to drm-misc-next? >> >>> Reviewed-by: Lyude Paul <lyude@redhat.com> >>> >>> On Fri, 2022-08-05 at 17:13 -0400, Hamza Mahfooz wrote: >>>> Currently, there is no way to identify if DSC pass-through can be >>>> enabled and what aux DSC pass-through requests ought to be sent to. So, >>>> add a variable to struct drm_dp_mst_port that keeps track of the >>>> aforementioned information. >>>> >>>> Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com> >>>> --- >>>> v2: define DP_DSC_PASSTHROUGH_IS_SUPPORTED >>>> --- >>>> drivers/gpu/drm/display/drm_dp_mst_topology.c | 4 +++- >>>> include/drm/display/drm_dp.h | 1 + >>>> include/drm/display/drm_dp_mst_helper.h | 3 +++ >>>> 3 files changed, 7 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c >>>> index 67b3b9697da7..71915afd9892 100644 >>>> --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c >>>> +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c >>>> @@ -5921,8 +5921,10 @@ struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port) >>>> /* Enpoint decompression with DP-to-DP peer device */ >>>> if ((endpoint_dsc & DP_DSC_DECOMPRESSION_IS_SUPPORTED) && >>>> (endpoint_fec & DP_FEC_CAPABLE) && >>>> - (upstream_dsc & 0x2) /* DSC passthrough */) >>>> + (upstream_dsc & DP_DSC_PASSTHROUGH_IS_SUPPORTED)) { >>>> + port->passthrough_aux = &immediate_upstream_port->aux; >>>> return &port->aux; >>>> + } >>>> >>>> /* Virtual DPCD decompression with DP-to-DP peer device */ >>>> return &immediate_upstream_port->aux; >>>> diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h >>>> index 9e3aff7e68bb..4d0abe4c7ea9 100644 >>>> --- a/include/drm/display/drm_dp.h >>>> +++ b/include/drm/display/drm_dp.h >>>> @@ -239,6 +239,7 @@ >>>> >>>> #define DP_DSC_SUPPORT 0x060 /* DP 1.4 */ >>>> # define DP_DSC_DECOMPRESSION_IS_SUPPORTED (1 << 0) >>>> +# define DP_DSC_PASSTHROUGH_IS_SUPPORTED (1 << 1) >>>> >>>> #define DP_DSC_REV 0x061 >>>> # define DP_DSC_MAJOR_MASK (0xf << 0) >>>> diff --git a/include/drm/display/drm_dp_mst_helper.h b/include/drm/display/drm_dp_mst_helper.h >>>> index 10adec068b7f..4a39c95f8afd 100644 >>>> --- a/include/drm/display/drm_dp_mst_helper.h >>>> +++ b/include/drm/display/drm_dp_mst_helper.h >>>> @@ -86,6 +86,8 @@ struct drm_dp_vcpi { >>>> * @next: link to next port on this branch device >>>> * @aux: i2c aux transport to talk to device connected to this port, protected >>>> * by &drm_dp_mst_topology_mgr.base.lock. >>>> + * @passthrough_aux: parent aux to which DSC pass-through requests should be >>>> + * sent, only set if DSC pass-through is possible. >>>> * @parent: branch device parent of this port >>>> * @vcpi: Virtual Channel Payload info for this port. >>>> * @connector: DRM connector this port is connected to. Protected by >>>> @@ -140,6 +142,7 @@ struct drm_dp_mst_port { >>>> */ >>>> struct drm_dp_mst_branch *mstb; >>>> struct drm_dp_aux aux; /* i2c bus for this port? */ >>>> + struct drm_dp_aux *passthrough_aux; >>>> struct drm_dp_mst_branch *parent; >>>> >>>> struct drm_dp_vcpi vcpi; >>> >> >
-- Hamza
| |