Displaying 6 results from an estimated 6 matches for "drm_dp_lttpr_count".
2024 Dec 11
1
[PATCH v2 4/4] drm/msm/dp: Add support for LTTPR handling
...PM +0200, Abel Vesa wrote:
> +static void msm_dp_display_lttpr_init(struct msm_dp_display_private *dp)
> +{
> + int lttpr_count;
> +
> + if (drm_dp_read_lttpr_common_caps(dp->aux, dp->panel->dpcd,
> + dp->lttpr_caps))
> + return;
> +
> + 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...
2025 Jan 03
4
[PATCH v3 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
...rent_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 on success or a negative error code on failure.
+ */
+int drm_dp_lttpr_init(struct drm_dp_aux *aux, int lttpr_count)
+{
+ int ret;
+
+ if (!lttpr_count)
+ return 0;
+
+ /*
+ * See DP Standard v2.0 3.6.6.1 about the explicit disabling of
+ * non-transparent mode and the disab...
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
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
2025 Jan 03
1
[PATCH v3 4/4] drm/msm/dp: Add support for LTTPR handling
...otification(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;
const struct drm_display_info *...