search for: drm_dp_lttpr_init

Displaying 10 results from an estimated 10 matches for "drm_dp_lttpr_init".

2024 Dec 11
4
[PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
...et; This looks correct, but I had to go look at drm_dp_dpcd_writeb() to make sure it never returns 0 (for short transfers). > +} > +EXPORT_SYMBOL(drm_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)...
2024 Dec 11
1
[PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
...neric framework. > > Signed-off-by: Abel Vesa <abel.vesa at linaro.org> > --- > drivers/gpu/drm/display/drm_dp_helper.c | 50 +++++++++++++++++++++++++++++++++ > include/drm/display/drm_dp_helper.h | 2 ++ > 2 files changed, 52 insertions(+) > > +/** > + * 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)...
2024 Dec 26
1
[PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
.... if (ret < 0) return ret; return (ret == 1) ? 0 : -EIO; > > > +} > > +EXPORT_SYMBOL(drm_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...
2025 Jan 03
4
[PATCH v3 0/4] drm/dp: Rework LTTPR transparent mode handling and add support to msm driver
...t;abel.vesa at linaro.org> --- Changes in v3: - Picked-up T-b tag from Johan for the drm/dp transparent mode set helper patch - Re-worked the return value of the drm/dp transparet mode set helper - Added some more details about what the values of the lttpr_count arg is expected to be for the drm_dp_lttpr_init(), like Johan suggested. - Re-worked the non-transparent mode disable->enable so that the rollback doesn't happen unless enable failed. - Picked-up Lyude's R-b tag for the nouveau patch. - Dropped extra parantesis at the end of the drm_dp_lttpr_init() call in i915 patch. - Picked-up...
2024 Dec 11
1
[PATCH v2 4/4] drm/msm/dp: Add support for LTTPR handling
...> + > + lttpr_count = drm_dp_lttpr_count(dp->lttpr_caps); I was gonna say shouldn'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 *connect...
2024 Dec 11
4
[PATCH v2 0/4] drm/dp: Rework LTTPR transparent mode handling and add support to msm driver
Looking at both i915 and nouveau DP drivers, both are setting the first LTTPR (if found) in transparent mode first and then in non-transparent mode, just like the DP v2.0 specification mentions in section 3.6.6.1. 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
2025 Jan 03
1
[PATCH v3 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
...+{ + u8 val = enable ? DP_PHY_REPEATER_MODE_TRANSPARENT : + DP_PHY_REPEATER_MODE_NON_TRANSPARENT; + int ret = drm_dp_dpcd_writeb(aux, DP_PHY_REPEATER_MODE, val); + + if (ret < 0) + return ret; + + return (ret == 1) ? 0 : -EIO; +} +EXPORT_SYMBOL(drm_dp_lttpr_set_transparent_mode); + +/** + * drm_dp_lttpr_init - init LTTPR transparency mode according to DP standard + * + * @aux: DisplayPort AUX channel + * @lttpr_count: Number of LTTPRs. Between 0 and 8, according to DP standard. + * Negative error code for any non-valid number. + * See drm_dp_lttpr_count(). + * + * Returns 0...
2024 Dec 30
1
[PATCH v2 1/4] drm/dp: Add helper to set LTTPRs in transparent mode
...volunteer. BR, Jani. > > >> >> > +} >> > +EXPORT_SYMBOL(drm_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. >> > + */ >> > +...
2025 Jan 03
1
[PATCH v3 3/4] drm/i915/dp: Use the generic helper to control LTTPR transparent mode
...ailing to switch to - * non-transparent mode fall-back to transparent link training mode, - * still taking into account any LTTPR common lane- rate/count limits. - */ - if (lttpr_count < 0) - goto out_reset_lttpr_count; - - if (!intel_dp_set_lttpr_transparent_mode(intel_dp, false)) { + ret = drm_dp_lttpr_init(&intel_dp->aux, lttpr_count); + if (ret) { lt_dbg(intel_dp, DP_PHY_DPRX, "Switching to LTTPR non-transparent LT mode failed, fall-back to transparent mode\n"); @@ -196,6 +180,8 @@ static int intel_dp_init_lttpr_phys(struct intel_dp *intel_dp, const u8 dpcd[DP_ got...
2025 Jan 03
1
[PATCH v3 4/4] drm/msm/dp: Add support for LTTPR handling
...int msm_dp_display_send_hpd_notification(struct msm_dp_display_private *d return 0; } +static void msm_dp_display_lttpr_init(struct msm_dp_display_private *dp) +{ + int rc; + + if (drm_dp_read_lttpr_common_caps(dp->aux, dp->panel->dpcd, + dp->lttpr_caps)) + return; + + rc = drm_dp_lttpr_init(dp->aux, drm_dp_lttpr_count(dp->lttpr_caps)); + if (rc) + DRM_ERROR("failed to set LTTPRs transparency mode, rc=%d\n", rc); +} + static int msm_dp_display_process_hpd_high(struct msm_dp_display_private *dp) { struct drm_connector *connector = dp->msm_dp_display.connector;...