search for: lttprs

Displaying 13 results from an estimated 13 matches for "lttprs".

Did you mean: lttpr
2024 Dec 11
1
[PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
On Wed, Dec 11, 2024 at 03:04:12PM +0200, Abel Vesa wrote: > According to the DisplayPort standard, LTTPRs have two operating > modes: > - non-transparent - it replies to DPCD LTTPR field specific AUX > requests, while passes through all other AUX requests > - transparent - it passes through all AUX requests. > > Switching between this two modes is done by the DPTX by issuing &gt...
2024 Dec 26
1
[PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
...appears to be what the driver currently uses, but why not > EXPORT_SYMBOL_GPL? > > > + > > +/** > > + * drm_dp_lttpr_init - init LTTPR transparency mode according to DP standard > > + * > > + * @aux: DisplayPort AUX channel > > + * @lttpr_count: Number of LTTPRs > > + * > > + * Returns 0 on success or a negative error code on failure. > > + */ > > +int drm_dp_lttpr_init(struct drm_dp_aux *aux, int lttpr_count) > > +{ > > + if (!lttpr_count) > > + return 0; > > + > > + /* > > + * See DP Standard...
2025 Jan 03
1
[PATCH v3 4/4] drm/msm/dp: Add support for LTTPR handling
Link Training Tunable PHY Repeaters (LTTPRs) are defined in DisplayPort 1.4a specification. As the name suggests, these PHY repeaters are capable of adjusting their output for link training purposes. According to the DisplayPort standard, LTTPRs have two operating modes: - non-transparent - it replies to DPCD LTTPR field specific AUX re...
2024 Dec 11
4
[PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
...rm_dp_lttpr_set_transparent_mode); This appears to be what the driver currently uses, but why not EXPORT_SYMBOL_GPL? > + > +/** > + * drm_dp_lttpr_init - init LTTPR transparency mode according to DP standard > + * > + * @aux: DisplayPort AUX channel > + * @lttpr_count: Number of LTTPRs > + * > + * Returns 0 on success or a negative error code on failure. > + */ > +int drm_dp_lttpr_init(struct drm_dp_aux *aux, int lttpr_count) > +{ > + if (!lttpr_count) > + return 0; > + > + /* > + * See DP Standard v2.0 3.6.6.1 about the explicit disabling of >...
2025 Jan 03
1
[PATCH v3 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
According to the DisplayPort standard, LTTPRs have two operating modes: - non-transparent - it replies to DPCD LTTPR field specific AUX requests, while passes through all other AUX requests - transparent - it passes through all AUX requests. Switching between this two modes is done by the DPTX by issuing an AUX write to the DPCD PHY_REPE...
2024 Dec 11
4
[PATCH v2 0/4] drm/dp: Rework LTTPR transparent mode handling and add support to msm driver
...Being part of the standard, setting the LTTPR in a specific operation mode can be easily moved in the generic framework. So do that by adding a new helper. Then, the msm DP driver is lacking any kind of support for LTTPR handling, so add it by reading the LTTPR caps for figuring out the number of LTTPRs found on plug detect and then do exactly what the i915 and nouveau drivers do with respect to toggling through operating modes, just like the up-mentioned section from DP spec describes. At some point, link training per sub-segment will probably be needed, but for now, toggling the operating modes...
2024 Dec 30
1
[PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
...urrently uses, but why not >> EXPORT_SYMBOL_GPL? >> >> > + >> > +/** >> > + * drm_dp_lttpr_init - init LTTPR transparency mode according to DP standard >> > + * >> > + * @aux: DisplayPort AUX channel >> > + * @lttpr_count: Number of LTTPRs >> > + * >> > + * Returns 0 on success or a negative error code on failure. >> > + */ >> > +int drm_dp_lttpr_init(struct drm_dp_aux *aux, int lttpr_count) >> > +{ >> > + if (!lttpr_count) >> > + return 0; >> > + >> >...
2025 Jan 03
4
[PATCH v3 0/4] drm/dp: Rework LTTPR transparent mode handling and add support to msm driver
...Being part of the standard, setting the LTTPR in a specific operation mode can be easily moved in the generic framework. So do that by adding a new helper. Then, the msm DP driver is lacking any kind of support for LTTPR handling, so add it by reading the LTTPR caps for figuring out the number of LTTPRs found on plug detect and then do exactly what the i915 and nouveau drivers do with respect to toggling through operating modes, just like the up-mentioned section from DP spec describes. At some point, link training per sub-segment will probably be needed, but for now, toggling the operating modes...
2024 Dec 30
1
[PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
On Mon, Dec 30, 2024 at 03:18:35PM +0200, Jani Nikula wrote: > On Thu, 26 Dec 2024, Abel Vesa <abel.vesa at linaro.org> wrote: > > On 24-12-11 15:42:27, Johan Hovold wrote: > >> On Wed, Dec 11, 2024 at 03:04:12PM +0200, Abel Vesa wrote: > >> > >> > +/** > >> > + * drm_dp_lttpr_set_transparent_mode - set the LTTPR in transparent mode >
2025 Jan 03
1
[PATCH v3 3/4] drm/i915/dp: Use the generic helper to control LTTPR transparent mode
LTTPRs operating modes are defined by the DisplayPort standard and the generic framework now provides a helper to switch between them, which is handling the explicit disabling of non-transparent mode and its disable->enable sequence mentioned in the DP Standard v2.0 section 3.6.6.1. So use the new drm...
2024 Dec 11
1
[PATCH v2 4/4] drm/msm/dp: Add support for LTTPR handling
...#39;t you handle errors here, but that explains the non-negative check I commented on the first patch in the series. This looks error prone, but I think you should at least update the kernel doc comment to drm_dp_lttpr_init() in the first patch so that it's clear that you pass in the number of LTTPRs *or* an errno. > + > + drm_dp_lttpr_init(dp->aux, lttpr_count); > +} > + > static int msm_dp_display_process_hpd_high(struct msm_dp_display_private *dp) > { > struct drm_connector *connector = dp->msm_dp_display.connector; > const struct drm_display_info *info =...
2023 Feb 04
1
[PATCH] drm/nouveau/disp: More DP_RECEIVER_CAP_SIZE array fixes
...@ -3,6 +3,7 @@ #define __NVKM_DISP_OUTP_H__ #include "priv.h" +#include <drm/display/drm_dp.h> #include <subdev/bios.h> #include <subdev/bios/dcb.h> #include <subdev/bios/dp.h> @@ -42,7 +43,7 @@ struct nvkm_outp { bool aux_pwr_pu; u8 lttpr[6]; u8 lttprs; - u8 dpcd[16]; + u8 dpcd[DP_RECEIVER_CAP_SIZE]; struct { int dpcd; /* -1, or index into SUPPORTED_LINK_RATES table */ diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/uoutp.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/uoutp.c index 4f0ca709c85a..fc283a4a1522 100644 --- a/driver...
2023 May 22
0
[PATCH 6.3 004/364] drm/nouveau/disp: More DP_RECEIVER_CAP_SIZE array fixes
...@ -3,6 +3,7 @@ #define __NVKM_DISP_OUTP_H__ #include "priv.h" +#include <drm/display/drm_dp.h> #include <subdev/bios.h> #include <subdev/bios/dcb.h> #include <subdev/bios/dp.h> @@ -42,7 +43,7 @@ struct nvkm_outp { bool aux_pwr_pu; u8 lttpr[6]; u8 lttprs; - u8 dpcd[16]; + u8 dpcd[DP_RECEIVER_CAP_SIZE]; struct { int dpcd; /* -1, or index into SUPPORTED_LINK_RATES table */ diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/uoutp.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/uoutp.c index 4f0ca709c85a4..fc283a4a1522a 100644 --- a/driv...