Displaying 20 results from an estimated 23 matches for "port_cap".
2019 Aug 26
2
[PATCH v3 5/7] drm/nouveau: utilize subconnector property for DP
...eau_dp.c
index 2674f1587457..85eac853e3f8 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ port_cap, DP_MAX_DOWNSTREAM_PORTS);...
2020 Apr 24
2
[PATCH 3/5] drm/nouveau: utilize subconnector property for DP
...uveau/nouveau_dp.c
index 2674f15..85eac85 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ port_cap, DP_MAX_DOWNSTREAM_PORTS);...
2019 Jul 15
1
[PATCH v2 5/6] drm/nouveau: utilize subconnector property for DP
...eau_dp.c
index 0d052e1660f8..7a87b0f808a7 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -63,6 +63,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {0};
int ret;
aux = nv_encoder->aux;
@@ -73,6 +74,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ port_cap, DP_MAX_DOWNSTREAM_PORTS);...
2019 Jul 25
0
[PATCH v3 5/5] drm/nouveau: utilize subconnector property for DP
...eau_dp.c
index 0d052e1660f8..dce77830be39 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -63,6 +63,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -73,6 +74,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ port_cap, DP_MAX_DOWNSTREAM_PORTS);...
2019 Aug 29
0
[PATCH v4 5/7] drm/nouveau: utilize subconnector property for DP
...eau_dp.c
index 2674f1587457..85eac853e3f8 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ port_cap, DP_MAX_DOWNSTREAM_PORTS);...
2020 Apr 01
0
[PATCH 3/5] drm/nouveau: utilize subconnector property for DP
...uveau/nouveau_dp.c
index 2674f15..85eac85 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ port_cap, DP_MAX_DOWNSTREAM_PORTS);...
2020 Aug 16
0
[v3] drm/nouveau: utilize subconnector property for DP
...uveau/nouveau_dp.c
index 8a0f799..3eff884 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ port_cap, DP_MAX_DOWNSTREAM_PORTS);...
2020 Apr 07
0
[PATCH 3/5] drm/nouveau: utilize subconnector property for DP
...uveau/nouveau_dp.c
index 2674f15..85eac85 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
struct nouveau_drm *drm = nouveau_drm(dev);
struct nvkm_i2c_aux *aux;
u8 dpcd[8];
+ u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
int ret;
aux = nv_encoder->aux;
@@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
if (ret)
return ret;
+ if (dpcd[DP_DPCD_REV] > 0x10) {
+ ret = nvkm_rdaux(aux, DP_DOWNSTREAM_PORT_0,
+ port_cap, DP_MAX_DOWNSTREAM_PORTS);...
2020 Aug 26
0
[PATCH v5 13/20] drm/i915/dp: Extract drm_dp_read_downstream_info()
...-EIO;
+}
+EXPORT_SYMBOL(drm_dp_read_downstream_info);
+
/**
* drm_dp_downstream_max_clock() - extract branch device max
* pixel rate for legacy VGA
@@ -431,7 +481,11 @@ EXPORT_SYMBOL(drm_dp_send_real_edid_checksum);
* @dpcd: DisplayPort configuration data
* @port_cap: port capabilities
*
- * Returns max clock in kHz on success or 0 if max clock not defined
+ * See also:
+ * drm_dp_read_downstream_info()
+ * drm_dp_downstream_max_bpc()
+ *
+ * Returns: Max clock in kHz on success or 0 if max clock not defined
*/
int drm_dp_downstream_max_clock(const u8 dpcd...
2019 Aug 26
0
[PATCH v3 5/7] drm/nouveau: utilize subconnector property for DP
.../drivers/gpu/drm/nouveau/nouveau_dp.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
> @@ -62,6 +62,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
> struct nouveau_drm *drm = nouveau_drm(dev);
> struct nvkm_i2c_aux *aux;
> u8 dpcd[8];
> + u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {};
> int ret;
>
> aux = nv_encoder->aux;
> @@ -72,6 +73,14 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
> if (ret)
> return ret;
>
> + if (dpcd[DP_DPCD_REV] > 0x10) {
> +...
2019 Aug 28
2
[PATCH v3 5/7] drm/nouveau: utilize subconnector property for DP
...he two cases like so:
static bool is_edid_digital_input_dp(const struct edid *edid)
{
return edid && edid->revision >= 4 &&
edid->input & DRM_EDID_INPUT_DIGITAL &&
(edid->input & DRM_EDID_DIGITAL_TYPE_MASK) == DRM_EDID_DIGITAL_TYPE_DP;
}
{
switch (port_cap[0] & DP_DS_PORT_TYPE_MASK) {
case DP_DS_PORT_TYPE_DP:
DP_STUFF;
case DP_DS_PORT_TYPE_DP_DUALMODE:
if (is_edid_digital_input_dp(edid))
DP_STUFF;
/* fall through */
case DP_DS_PORT_TYPE_HDMI:
case DP_DS_PORT_TYPE_DVI:
TMDS_STUFF;
}
>
> On Mon, Aug 26, 2019 at 9:22 AM Oleg V...
2020 Aug 19
3
[RFC 13/20] drm/i915/dp: Extract drm_dp_downstream_read_info()
...u8 real_edid_checksum);
>
> +int drm_dp_downstream_read_info(struct drm_dp_aux *aux,
> + const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> + u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS]);
> int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> const u8 port_cap[4]);
> int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> --
> 2.26.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean P...
2019 Jul 15
0
[PATCH v2 5/6] drm/nouveau: utilize subconnector property for DP
...f808a7 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_dp.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
> @@ -63,6 +63,7 @@ nouveau_dp_detect(struct nouveau_encoder *nv_encoder)
> struct nouveau_drm *drm = nouveau_drm(dev);
> struct nvkm_i2c_aux *aux;
> u8 dpcd[8];
> + u8 port_cap[DP_MAX_DOWNSTREAM_PORTS] = {0};
IIRC clang will complain about {0}. How about we make this a {}.
Regardless of the above nitpick, the series is:
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Thanks for the follow-up :-)
Emil
2020 Aug 11
0
[RFC 13/20] drm/i915/dp: Extract drm_dp_downstream_read_info()
...cksum(struct drm_dp_aux *aux,
u8 real_edid_checksum);
+int drm_dp_downstream_read_info(struct drm_dp_aux *aux,
+ const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS]);
int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
const u8 port_cap[4]);
int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
--
2.26.2
2020 Aug 11
0
[RFC 15/20] drm/i915/dp: Extract drm_dp_has_sink_count()
...rm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 1349f16564ace..a1413a531eaf4 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -1631,6 +1631,11 @@ void drm_dp_set_subconnector_property(struct drm_connector *connector,
const u8 *dpcd,
const u8 port_cap[4]);
+struct drm_dp_desc;
+bool drm_dp_has_sink_count(struct drm_connector *connector,
+ const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ const struct drm_dp_desc *desc);
+
void drm_dp_remote_aux_init(struct drm_dp_aux *aux);
void drm_dp_aux_init(struct drm_dp_aux *aux);
int drm_dp_aux_registe...
2020 Aug 26
23
[PATCH v5 00/20] drm/dp, i915, nouveau: Cleanup nouveau HPD and add DP features from i915
Most of the reason I'm asking for an RFC here is because this
code pulls a lot of code out of i915 and into shared DP helpers.
Anyway-nouveau's HPD related code has been collecting dust for a while.
Other then the occasional runtime PM related and MST related fixes,
we're missing a lot of nice things that have been added to DRM since
this was originally written. Additionally, the code
2020 Aug 20
0
[RFC v2 13/20] drm/i915/dp: Extract drm_dp_downstream_read_info()
...cksum(struct drm_dp_aux *aux,
u8 real_edid_checksum);
+int drm_dp_downstream_read_info(struct drm_dp_aux *aux,
+ const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS]);
int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
const u8 port_cap[4]);
int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
--
2.26.2
2020 Aug 20
2
[RFC 13/20] drm/i915/dp: Extract drm_dp_downstream_read_info()
...> +int drm_dp_downstream_read_info(struct drm_dp_aux *aux,
> > > + const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > > + u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS]);
> > > int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > > const u8 port_cap[4]);
> > > int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > > --
> > > 2.26.2
> > >
> > > _______________________________________________
> > > dri-devel mailing list
> > > dri-devel at lists.freedesktop.org
>...
2020 Aug 19
0
[RFC 13/20] drm/i915/dp: Extract drm_dp_downstream_read_info()
...);
> >
> > +int drm_dp_downstream_read_info(struct drm_dp_aux *aux,
> > + const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > + u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS]);
> > int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > const u8 port_cap[4]);
> > int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > --
> > 2.26.2
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel at lists.freedesktop.org
> > https://lists.freedesktop.or...
2020 Aug 21
0
[RFC 13/20] drm/i915/dp: Extract drm_dp_downstream_read_info()
...ruct drm_dp_aux *aux,
> > > > + const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > > > + u8
> > > > downstream_ports[DP_MAX_DOWNSTREAM_PORTS]);
> > > > int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > > > const u8 port_cap[4]);
> > > > int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > > > --
> > > > 2.26.2
> > > >
> > > > _______________________________________________
> > > > dri-devel mailing list
> > > > dri...