* [PATCH v4 00/11] drm/i915: DP branch devices
@ 2016-06-06 13:29 Mika Kahola
2016-06-06 13:29 ` [PATCH v4 01/11] drm: Add missing DP downstream port types Mika Kahola
` (11 more replies)
0 siblings, 12 replies; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
Prep work for DP branch device handling
This series of patches reads DPCD register 0x80h for receiver
capabilities for DP branch devices. The branch device types are
converters for the following standards
- DP to VGA
- DP to DVI
- DP to HDMI
- DP++ dual mode
- Wireless WiGig
DPCD register defines max pixel rate for VGA dongles. This
check is carried out during mode validation.
What's new in the series:
- Readout of branch device ID, HW, and SW revisions from DPCD register
v2: DPCD register read outs moved to drm (Ville, Daniel)
v3: Max pixel rate computation moved to drm (Daniel)
v4: Use of drm_dp_helper routines to collect data (Ville)
Mika Kahola (11):
drm: Add missing DP downstream port types
drm: Read DP downstream port capabilities
drm: Helper to read DP branch device type
drm: Helper to read max clock rate
drm: Helper to read max bits per component
drm: Read DP branch device id
drm: Read DP branch device HW revision
drm: Read DP branch device SW revision
drm/i915: Check pixel rate for DP to VGA dongle
drm/i915: Update bits per component for display info
drm/i915: Add DP branch device info on debugfs
drivers/gpu/drm/drm_dp_helper.c | 155 ++++++++++++++++++++++++++++++++++++
drivers/gpu/drm/i915/i915_debugfs.c | 66 +++++++++++++++
drivers/gpu/drm/i915/intel_dp.c | 29 +++++++
include/drm/drm_dp_helper.h | 23 +++++-
4 files changed, 272 insertions(+), 1 deletion(-)
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH v4 01/11] drm: Add missing DP downstream port types
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-06 13:29 ` [PATCH v4 02/11] drm: Read DP downstream port capabilities Mika Kahola
` (10 subsequent siblings)
11 siblings, 0 replies; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
Add missing DisplayPort downstream port types. The introduced
new port types are DP++ and Wireless.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
include/drm/drm_dp_helper.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 5a848e7..e384c7f 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -211,6 +211,8 @@
# define DP_DS_PORT_TYPE_DVI 2
# define DP_DS_PORT_TYPE_HDMI 3
# define DP_DS_PORT_TYPE_NON_EDID 4
+# define DP_DS_PORT_TYPE_DP_DUALMODE 5
+# define DP_DS_PORT_TYPE_WIRELESS 6
# define DP_DS_PORT_HPD (1 << 3)
/* offset 1 for VGA is maximum megapixels per second / 8 */
/* offset 2 */
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 02/11] drm: Read DP downstream port capabilities
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
2016-06-06 13:29 ` [PATCH v4 01/11] drm: Add missing DP downstream port types Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-06 16:00 ` kbuild test robot
2016-06-09 7:52 ` Ville Syrjälä
2016-06-06 13:29 ` [PATCH v4 03/11] drm: Helper to read DP branch device type Mika Kahola
` (9 subsequent siblings)
11 siblings, 2 replies; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
Read DisplayPort downstream port capabilities. Depending on
the DP port the capabilities are defined in length of 1 byte
or 4 bytes depending if the detailed capability information is
available.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
drivers/gpu/drm/drm_dp_helper.c | 27 +++++++++++++++++++++++++++
include/drm/drm_dp_helper.h | 3 +++
2 files changed, 30 insertions(+)
diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index eeaf5a7..c4149fd 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -438,6 +438,33 @@ int drm_dp_link_configure(struct drm_dp_aux *aux, struct drm_dp_link *link)
}
EXPORT_SYMBOL(drm_dp_link_configure);
+/**
+ * drm_dp_downstream_port_cap() - read downstream port capabilities
+ * @dpcd: DisplayPort configuration data
+ * @port_cap: port capabilities
+ *
+ * returns size of the port capabilites
+ */
+int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
+ const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ u8 port_cap[4])
+{
+ int size;
+ bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
+ DP_DETAILED_CAP_INFO_AVAILABLE;
+
+ if (detailed_cap_info) {
+ size = 4;
+ drm_dp_dpcd_read(aux, DP_DOWNSTREAM_PORT_0, port_cap, size);
+ } else {
+ size = 1;
+ drm_dp_dpcd_read(aux, DP_DOWNSTREAM_PORT_0, &port_cap[0], size);
+ }
+
+ return size;
+}
+EXPORT_SYMBOL(drm_dp_downstream_port_cap);
+
/*
* I2C-over-AUX implementation
*/
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index e384c7f..db8d3d47 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -806,6 +806,9 @@ int drm_dp_link_probe(struct drm_dp_aux *aux, struct drm_dp_link *link);
int drm_dp_link_power_up(struct drm_dp_aux *aux, struct drm_dp_link *link);
int drm_dp_link_power_down(struct drm_dp_aux *aux, struct drm_dp_link *link);
int drm_dp_link_configure(struct drm_dp_aux *aux, struct drm_dp_link *link);
+int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
+ const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ u8 port_cap[4]);
int drm_dp_aux_register(struct drm_dp_aux *aux);
void drm_dp_aux_unregister(struct drm_dp_aux *aux);
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 03/11] drm: Helper to read DP branch device type
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
2016-06-06 13:29 ` [PATCH v4 01/11] drm: Add missing DP downstream port types Mika Kahola
2016-06-06 13:29 ` [PATCH v4 02/11] drm: Read DP downstream port capabilities Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-09 7:57 ` Ville Syrjälä
2016-06-06 13:29 ` [PATCH v4 04/11] drm: Helper to read max clock rate Mika Kahola
` (8 subsequent siblings)
11 siblings, 1 reply; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
Helper routine to read out DisplayPort branch device type. The spec
defines these type as following
0 DisplayPort
1 Analog VGA
2 DVI
3 HDMI
4 Others without EDID support
5 DP++
6 Wireless
7 Reserved
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
drivers/gpu/drm/drm_dp_helper.c | 14 ++++++++++++++
include/drm/drm_dp_helper.h | 1 +
2 files changed, 15 insertions(+)
diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index c4149fd..7d3b245 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -465,6 +465,20 @@ int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
}
EXPORT_SYMBOL(drm_dp_downstream_port_cap);
+/**
+ * drm_dp_downstream_type() - extract downstream port type
+ * @dpcd: DisplayPort configuration data
+ * @port_cap: port capabilities
+ *
+ * Returns type in success or negative error code on failure
+ */
+int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ const u8 port_cap[4])
+{
+ return port_cap[0] & DP_DS_PORT_TYPE_MASK;
+}
+EXPORT_SYMBOL(drm_dp_downstream_type);
+
/*
* I2C-over-AUX implementation
*/
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index db8d3d47..f290829 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -809,6 +809,7 @@ int drm_dp_link_configure(struct drm_dp_aux *aux, struct drm_dp_link *link);
int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
const u8 dpcd[DP_RECEIVER_CAP_SIZE],
u8 port_cap[4]);
+int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], const u8 port_cap[4]);
int drm_dp_aux_register(struct drm_dp_aux *aux);
void drm_dp_aux_unregister(struct drm_dp_aux *aux);
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 04/11] drm: Helper to read max clock rate
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
` (2 preceding siblings ...)
2016-06-06 13:29 ` [PATCH v4 03/11] drm: Helper to read DP branch device type Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-09 7:59 ` Ville Syrjälä
2016-06-06 13:29 ` [PATCH v4 05/11] drm: Helper to read max bits per component Mika Kahola
` (7 subsequent siblings)
11 siblings, 1 reply; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
Helper routine to read out maximum supported pixel rate
for DisplayPort legay VGA converter or TMDS clock rate
for other digital legacy converters. The helper returns
clock rate in kHz.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
drivers/gpu/drm/drm_dp_helper.c | 28 ++++++++++++++++++++++++++++
include/drm/drm_dp_helper.h | 2 ++
2 files changed, 30 insertions(+)
diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index 7d3b245..18b72eb 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -479,6 +479,34 @@ int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
}
EXPORT_SYMBOL(drm_dp_downstream_type);
+/**
+ * drm_dp_downstream_max_clock() - extract branch device max
+ * pixel rate for legacy VGA
+ * converter or max TMDS clock
+ * rate for others
+ * @dpcd: DisplayPort configuration data
+ * @port_cap: port capabilities
+ *
+ * Returns max clock in kHz on success or negative error code on failure
+ */
+int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ const u8 port_cap[4])
+{
+ int type = drm_dp_downstream_type(dpcd, port_cap);
+ bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
+ DP_DETAILED_CAP_INFO_AVAILABLE;
+
+ if (detailed_cap_info) {
+ if (type == DP_DS_PORT_TYPE_VGA)
+ return port_cap[1] * 8 * 1000;
+ else if (type != DP_DS_PORT_TYPE_WIRELESS)
+ return port_cap[1] * 2500;
+ }
+
+ return -EINVAL;
+}
+EXPORT_SYMBOL(drm_dp_downstream_max_clock);
+
/*
* I2C-over-AUX implementation
*/
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index f290829..c3324d3 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -810,6 +810,8 @@ int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
const u8 dpcd[DP_RECEIVER_CAP_SIZE],
u8 port_cap[4]);
int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], const u8 port_cap[4]);
+int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ const u8 port_cap[4]);
int drm_dp_aux_register(struct drm_dp_aux *aux);
void drm_dp_aux_unregister(struct drm_dp_aux *aux);
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 05/11] drm: Helper to read max bits per component
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
` (3 preceding siblings ...)
2016-06-06 13:29 ` [PATCH v4 04/11] drm: Helper to read max clock rate Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-09 8:02 ` Ville Syrjälä
2016-06-06 13:29 ` [PATCH v4 06/11] drm: Read DP branch device id Mika Kahola
` (6 subsequent siblings)
11 siblings, 1 reply; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
Helper routine to read out maximum supported bits per
component for DisplayPort legay converters.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
drivers/gpu/drm/drm_dp_helper.c | 31 +++++++++++++++++++++++++++++++
include/drm/drm_dp_helper.h | 2 ++
2 files changed, 33 insertions(+)
diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index 18b72eb..bac0ccc 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -507,6 +507,37 @@ int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
}
EXPORT_SYMBOL(drm_dp_downstream_max_clock);
+/**
+ * drm_dp_downstream_max_bpc() - extract branch device max
+ * bits per component
+ * @dpcd: DisplayPort configuration data
+ * @port_cap: port capabilities
+ *
+ * Returns max bpc on success or negative error code on failure
+ */
+int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
+ const u8 port_cap[4])
+{
+ int type = drm_dp_downstream_type(dpcd, port_cap);
+ bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
+ DP_DETAILED_CAP_INFO_AVAILABLE;
+
+ if (detailed_cap_info) {
+ if (type != DP_DS_PORT_TYPE_WIRELESS) {
+ int tmp;
+ tmp = port_cap[2] & DP_DS_VGA_MAX_BPC_MASK;
+
+ if (tmp == 0)
+ return 8;
+ else
+ return 8 + (1<<tmp);
+ }
+ }
+
+ return -EINVAL;
+}
+EXPORT_SYMBOL(drm_dp_downstream_max_bpc);
+
/*
* I2C-over-AUX implementation
*/
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index c3324d3..d4abc38 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -812,6 +812,8 @@ int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], const u8 port_cap[4]);
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],
+ const u8 port_cap[4]);
int drm_dp_aux_register(struct drm_dp_aux *aux);
void drm_dp_aux_unregister(struct drm_dp_aux *aux);
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 06/11] drm: Read DP branch device id
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
` (4 preceding siblings ...)
2016-06-06 13:29 ` [PATCH v4 05/11] drm: Helper to read max bits per component Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-06 17:55 ` kbuild test robot
2016-06-06 13:29 ` [PATCH v4 07/11] drm: Read DP branch device HW revision Mika Kahola
` (5 subsequent siblings)
11 siblings, 1 reply; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
Read DisplayPort branch device id string.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
drivers/gpu/drm/drm_dp_helper.c | 12 ++++++++++++
include/drm/drm_dp_helper.h | 2 ++
2 files changed, 14 insertions(+)
diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index bac0ccc..c25bed9 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -538,6 +538,18 @@ int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
}
EXPORT_SYMBOL(drm_dp_downstream_max_bpc);
+/**
+ * drm_dp_downstream_id() - identify branch device
+ * @aux: DisplayPort AUX channel
+ *
+ * Returns branch device id on success or NULL on failure
+ */
+int drm_dp_downstream_id(struct drm_dp_aux *aux, char id[6])
+{
+ return drm_dp_dpcd_read(aux, DP_BRANCH_ID, id, 6);
+}
+EXPORT_SYMBOL(drm_dp_downstream_id);
+
/*
* I2C-over-AUX implementation
*/
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index d4abc38..37293a8 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -445,6 +445,7 @@
#define DP_SOURCE_OUI 0x300
#define DP_SINK_OUI 0x400
#define DP_BRANCH_OUI 0x500
+#define DP_BRANCH_ID 0x503
#define DP_SET_POWER 0x600
# define DP_SET_POWER_D0 0x1
@@ -814,6 +815,7 @@ 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],
const u8 port_cap[4]);
+int drm_dp_downstream_id(struct drm_dp_aux *aux, char id[6]);
int drm_dp_aux_register(struct drm_dp_aux *aux);
void drm_dp_aux_unregister(struct drm_dp_aux *aux);
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 07/11] drm: Read DP branch device HW revision
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
` (5 preceding siblings ...)
2016-06-06 13:29 ` [PATCH v4 06/11] drm: Read DP branch device id Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-06 13:29 ` [PATCH v4 08/11] drm: Read DP branch device SW revision Mika Kahola
` (4 subsequent siblings)
11 siblings, 0 replies; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
HW revision is mandatory field for DisplayPort branch
devices. This is defined in DPCD register field 0x509.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
drivers/gpu/drm/drm_dp_helper.c | 21 +++++++++++++++++++++
include/drm/drm_dp_helper.h | 7 +++++++
2 files changed, 28 insertions(+)
diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index c25bed9..6dd9ff5 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -550,6 +550,27 @@ int drm_dp_downstream_id(struct drm_dp_aux *aux, char id[6])
}
EXPORT_SYMBOL(drm_dp_downstream_id);
+/**
+ * drm_dp_downstream_hw_rev() - read DP branch device HW revision
+ * @aux: DisplayPort AUX channel
+ *
+ * Returns HW revision on succes or negative error code on failure
+ */
+struct drm_dp_revision drm_dp_downstream_hw_rev(struct drm_dp_aux *aux)
+{
+ uint8_t tmp;
+ struct drm_dp_revision rev = { .major = -EINVAL, .minor = -EINVAL };
+
+ if (drm_dp_dpcd_read(aux, DP_BRANCH_HW_REV, &tmp, 1) != 1)
+ return rev;
+
+ rev.major = (tmp & 0xf0) >> 4;
+ rev.minor = tmp & 0xf;
+
+ return rev;
+}
+EXPORT_SYMBOL(drm_dp_downstream_hw_rev);
+
/*
* I2C-over-AUX implementation
*/
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 37293a8..08a10b3 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -446,6 +446,7 @@
#define DP_SINK_OUI 0x400
#define DP_BRANCH_OUI 0x500
#define DP_BRANCH_ID 0x503
+#define DP_BRANCH_HW_REV 0x509
#define DP_SET_POWER 0x600
# define DP_SET_POWER_D0 0x1
@@ -803,6 +804,11 @@ struct drm_dp_link {
unsigned long capabilities;
};
+struct drm_dp_revision {
+ int major;
+ int minor;
+};
+
int drm_dp_link_probe(struct drm_dp_aux *aux, struct drm_dp_link *link);
int drm_dp_link_power_up(struct drm_dp_aux *aux, struct drm_dp_link *link);
int drm_dp_link_power_down(struct drm_dp_aux *aux, struct drm_dp_link *link);
@@ -816,6 +822,7 @@ int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
const u8 port_cap[4]);
int drm_dp_downstream_id(struct drm_dp_aux *aux, char id[6]);
+struct drm_dp_revision drm_dp_downstream_hw_rev(struct drm_dp_aux *aux);
int drm_dp_aux_register(struct drm_dp_aux *aux);
void drm_dp_aux_unregister(struct drm_dp_aux *aux);
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 08/11] drm: Read DP branch device SW revision
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
` (6 preceding siblings ...)
2016-06-06 13:29 ` [PATCH v4 07/11] drm: Read DP branch device HW revision Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-06 13:29 ` [PATCH v4 09/11] drm/i915: Check pixel rate for DP to VGA dongle Mika Kahola
` (3 subsequent siblings)
11 siblings, 0 replies; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
SW revision is mandatory field for DisplayPort branch
devices. This is defined in DPCD register field 0x50A.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
drivers/gpu/drm/drm_dp_helper.c | 22 ++++++++++++++++++++++
include/drm/drm_dp_helper.h | 4 +++-
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
index 6dd9ff5..89b3b24 100644
--- a/drivers/gpu/drm/drm_dp_helper.c
+++ b/drivers/gpu/drm/drm_dp_helper.c
@@ -571,6 +571,28 @@ struct drm_dp_revision drm_dp_downstream_hw_rev(struct drm_dp_aux *aux)
}
EXPORT_SYMBOL(drm_dp_downstream_hw_rev);
+/**
+ * drm_dp_downstream_sw_rev() - read DP branch device SW revision
+ * @aux: DisplayPort AUX channel
+ *
+ * Returns SW revision on success or negative error code on failure
+ */
+struct drm_dp_revision drm_dp_downstream_sw_rev(struct drm_dp_aux *aux)
+{
+ uint8_t tmp[2];
+ struct drm_dp_revision rev = { .major = -EINVAL, .minor = -EINVAL };
+
+ if (drm_dp_dpcd_read(aux, DP_BRANCH_SW_REV, tmp, 2) != 2)
+ return rev;
+
+ rev.major = tmp[0];
+ rev.minor = tmp[1];
+
+ return rev;
+
+}
+EXPORT_SYMBOL(drm_dp_downstream_sw_rev);
+
/*
* I2C-over-AUX implementation
*/
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 08a10b3..1848320 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -447,6 +447,7 @@
#define DP_BRANCH_OUI 0x500
#define DP_BRANCH_ID 0x503
#define DP_BRANCH_HW_REV 0x509
+#define DP_BRANCH_SW_REV 0x50A
#define DP_SET_POWER 0x600
# define DP_SET_POWER_D0 0x1
@@ -823,7 +824,8 @@ int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
const u8 port_cap[4]);
int drm_dp_downstream_id(struct drm_dp_aux *aux, char id[6]);
struct drm_dp_revision drm_dp_downstream_hw_rev(struct drm_dp_aux *aux);
-
+struct drm_dp_revision drm_dp_downstream_sw_rev(struct drm_dp_aux *aux);
+
int drm_dp_aux_register(struct drm_dp_aux *aux);
void drm_dp_aux_unregister(struct drm_dp_aux *aux);
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 09/11] drm/i915: Check pixel rate for DP to VGA dongle
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
` (7 preceding siblings ...)
2016-06-06 13:29 ` [PATCH v4 08/11] drm: Read DP branch device SW revision Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-09 8:14 ` Ville Syrjälä
2016-06-06 13:29 ` [PATCH v4 10/11] drm/i915: Update bits per component for display info Mika Kahola
` (2 subsequent siblings)
11 siblings, 1 reply; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
Filter out a mode that exceeds the max pixel rate setting
for DP to VGA dongle. This is defined in DPCD register 0x81
if detailed cap info i.e. info field is 4 bytes long and
it is available for DP downstream port.
The register defines the pixel rate divided by 8 in MP/s.
v2: DPCD read outs and computation moved to drm (Ville, Daniel)
v3: Sink pixel rate computation moved to drm_dp_max_sink_dotclock()
function (Daniel)
v4: Use of drm_dp_helper.c routines to compute max pixel clock (Ville)
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 096acbf0..1b94347 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -200,6 +200,23 @@ intel_dp_mode_valid(struct drm_connector *connector,
int target_clock = mode->clock;
int max_rate, mode_rate, max_lanes, max_link_clock;
int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
+ bool is_branch_device;
+ int max_dp_clk;
+ int type;
+ uint8_t port_cap[4];
+
+ is_branch_device = intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] &
+ DP_DWN_STRM_PORT_PRESENT;
+
+ if (is_branch_device) {
+ drm_dp_downstream_port_cap(&intel_dp->aux, intel_dp->dpcd, port_cap);
+ type = drm_dp_downstream_type(intel_dp->dpcd, port_cap);
+ max_dp_clk = drm_dp_downstream_max_clock(intel_dp->dpcd, port_cap);
+
+ if ((type == DP_DS_PORT_TYPE_VGA) && (max_dp_clk > 0)) {
+ max_dotclk = min(max_dotclk, max_dp_clk);
+ }
+ }
if (is_edp(intel_dp) && fixed_mode) {
if (mode->hdisplay > fixed_mode->hdisplay)
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 10/11] drm/i915: Update bits per component for display info
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
` (8 preceding siblings ...)
2016-06-06 13:29 ` [PATCH v4 09/11] drm/i915: Check pixel rate for DP to VGA dongle Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-06 13:29 ` [PATCH v4 11/11] drm/i915: Add DP branch device info on debugfs Mika Kahola
2016-06-06 14:03 ` ✗ Ro.CI.BAT: warning for drm/i915: DP branch devices (rev4) Patchwork
11 siblings, 0 replies; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
DisplayPort branch device may define max supported bits per
component. Update display info based on this value if bpc
is defined.
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 1b94347..ad3ff37 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -3932,6 +3932,17 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp)
{
uint8_t *dpcd = intel_dp->dpcd;
uint8_t type;
+ uint8_t cap[4];
+
+ if (dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DWN_STRM_PORT_PRESENT) {
+ int bpc;
+
+ drm_dp_downstream_port_cap(&intel_dp->aux, dpcd, cap);
+ bpc = drm_dp_downstream_max_bpc(dpcd, cap);
+
+ if (bpc > 0)
+ intel_dp->attached_connector->base.display_info.bpc = bpc;
+ }
if (!intel_dp_get_dpcd(intel_dp))
return connector_status_disconnected;
@@ -3969,6 +3980,7 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp)
return connector_status_unknown;
}
+
/* Anything else is out of spec, warn and ignore */
DRM_DEBUG_KMS("Broken DP branch device, ignoring\n");
return connector_status_disconnected;
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH v4 11/11] drm/i915: Add DP branch device info on debugfs
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
` (9 preceding siblings ...)
2016-06-06 13:29 ` [PATCH v4 10/11] drm/i915: Update bits per component for display info Mika Kahola
@ 2016-06-06 13:29 ` Mika Kahola
2016-06-06 14:03 ` ✗ Ro.CI.BAT: warning for drm/i915: DP branch devices (rev4) Patchwork
11 siblings, 0 replies; 22+ messages in thread
From: Mika Kahola @ 2016-06-06 13:29 UTC (permalink / raw)
To: dri-devel; +Cc: daniel.vetter, intel-gfx
Read DisplayPort branch device info from through debugfs
interface.
v2: use drm_dp_helper routines to collect data
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
---
drivers/gpu/drm/i915/i915_debugfs.c | 66 +++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index ac7e569..fabfa55 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2942,9 +2942,75 @@ static void intel_dp_info(struct seq_file *m,
{
struct intel_encoder *intel_encoder = intel_connector->encoder;
struct intel_dp *intel_dp = enc_to_intel_dp(&intel_encoder->base);
+ struct drm_dp_revision rev;
+ bool is_branch_device;
+ int type;
+ int clk;
+ int bpc;
+ int cap_size;
+ uint8_t cap[4];
+ char id[6];
seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
seq_printf(m, "\taudio support: %s\n", yesno(intel_dp->has_audio));
+
+ is_branch_device = intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] &
+ DP_DWN_STRM_PORT_PRESENT;
+ seq_printf(m, "\tbranch device: %s\n", yesno(is_branch_device));
+
+ if (is_branch_device) {
+ cap_size = drm_dp_downstream_port_cap(&intel_dp->aux,
+ intel_dp->dpcd, cap);
+
+ type = drm_dp_downstream_type(intel_dp->dpcd, cap);
+
+ switch (type) {
+ case DP_DS_PORT_TYPE_DP:
+ seq_printf(m, "\ttype: DisplayPort\n");
+ break;
+ case DP_DS_PORT_TYPE_VGA:
+ seq_printf(m, "\ttype: VGA\n");
+ break;
+ case DP_DS_PORT_TYPE_DVI:
+ seq_printf(m, "\ttype: DVI\n");
+ break;
+ case DP_DS_PORT_TYPE_HDMI:
+ seq_printf(m, "\ttype: HDMI\n");
+ break;
+ case DP_DS_PORT_TYPE_NON_EDID:
+ seq_printf(m, "\ttype: others without EDID support\n");
+ break;
+ case DP_DS_PORT_TYPE_DP_DUALMODE:
+ seq_printf(m, "\ttype: DP++\n");
+ break;
+ case DP_DS_PORT_TYPE_WIRELESS:
+ seq_printf(m, "\ttype: Wireless\n");
+ break;
+ default:
+ seq_printf(m, "\ttype: N/A\n");
+ }
+
+ drm_dp_downstream_id(&intel_dp->aux, id);
+ seq_printf(m, "\tDevice id: %s\n", id);
+
+ rev = drm_dp_downstream_hw_rev(&intel_dp->aux);
+ seq_printf(m, "\tHW revision: %.2d.%.2d\n", rev.major, rev.minor);
+
+ rev = drm_dp_downstream_sw_rev(&intel_dp->aux);
+ seq_printf(m, "\tSW revision: %.2d.%.2d\n", rev.major, rev.minor);
+
+ if (cap_size == 4) {
+ clk = drm_dp_downstream_max_clock(intel_dp->dpcd, cap);
+ if (type == DP_DS_PORT_TYPE_VGA)
+ seq_printf(m, "\tMax dot clock: %d kHz\n", clk);
+ else
+ seq_printf(m, "\tMax TMDS clock: %d kHz\n", clk);
+
+ bpc = drm_dp_downstream_max_bpc(intel_dp->dpcd, cap);
+ seq_printf(m, "\tMax bpc: %d\n", bpc);
+ }
+ }
+
if (intel_encoder->type == INTEL_OUTPUT_EDP)
intel_panel_info(m, &intel_connector->panel);
}
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 22+ messages in thread
* ✗ Ro.CI.BAT: warning for drm/i915: DP branch devices (rev4)
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
` (10 preceding siblings ...)
2016-06-06 13:29 ` [PATCH v4 11/11] drm/i915: Add DP branch device info on debugfs Mika Kahola
@ 2016-06-06 14:03 ` Patchwork
11 siblings, 0 replies; 22+ messages in thread
From: Patchwork @ 2016-06-06 14:03 UTC (permalink / raw)
To: Mika Kahola; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: DP branch devices (rev4)
URL : https://patchwork.freedesktop.org/series/6658/
State : warning
== Summary ==
Series 6658v4 drm/i915: DP branch devices
http://patchwork.freedesktop.org/api/1.0/series/6658/revisions/4/mbox
Test gem_cs_tlb:
Subgroup basic-default:
pass -> DMESG-WARN (ro-skl-i7-6700hq)
Test gem_exec_flush:
Subgroup basic-wb-rw-default:
pass -> DMESG-WARN (ro-skl-i7-6700hq)
Test gem_mmap_gtt:
Subgroup basic-copy:
dmesg-warn -> PASS (ro-skl-i7-6700hq)
Subgroup basic-small-copy:
dmesg-warn -> PASS (ro-skl-i7-6700hq)
Subgroup basic-write:
pass -> DMESG-WARN (ro-skl-i7-6700hq)
Subgroup basic-write-no-prefault:
pass -> DMESG-WARN (ro-skl-i7-6700hq)
Test gem_pwrite:
Subgroup basic:
dmesg-warn -> PASS (ro-skl-i7-6700hq)
Test gem_storedw_loop:
Subgroup basic-vebox:
dmesg-warn -> PASS (ro-skl-i7-6700hq)
Test kms_addfb_basic:
Subgroup bad-pitch-1024:
pass -> DMESG-WARN (ro-skl-i7-6700hq)
Subgroup bad-pitch-128:
dmesg-warn -> PASS (ro-skl-i7-6700hq)
Subgroup bad-pitch-32:
pass -> DMESG-WARN (ro-skl-i7-6700hq)
Subgroup bad-pitch-999:
dmesg-warn -> PASS (ro-skl-i7-6700hq)
Subgroup clobberred-modifier:
dmesg-warn -> PASS (ro-skl-i7-6700hq)
Subgroup too-wide:
pass -> DMESG-WARN (ro-skl-i7-6700hq)
Subgroup unused-pitches:
dmesg-warn -> PASS (ro-skl-i7-6700hq)
Test kms_flip:
Subgroup basic-flip-vs-wf_vblank:
pass -> DMESG-WARN (ro-skl-i7-6700hq)
fi-bdw-i7-5557u total:102 pass:93 dwarn:0 dfail:0 fail:0 skip:8
fi-hsw-i7-4770k total:209 pass:190 dwarn:0 dfail:0 fail:0 skip:19
fi-skl-i5-6260u total:209 pass:198 dwarn:0 dfail:0 fail:0 skip:11
fi-skl-i7-6700k total:209 pass:184 dwarn:0 dfail:0 fail:0 skip:25
fi-snb-i7-2600 total:209 pass:170 dwarn:0 dfail:0 fail:0 skip:39
ro-bdw-i5-5250u total:102 pass:93 dwarn:0 dfail:0 fail:0 skip:8
ro-bdw-i7-5600u total:102 pass:75 dwarn:0 dfail:0 fail:0 skip:26
ro-bsw-n3050 total:209 pass:168 dwarn:0 dfail:0 fail:2 skip:39
ro-byt-n2820 total:209 pass:169 dwarn:0 dfail:0 fail:3 skip:37
ro-hsw-i3-4010u total:209 pass:186 dwarn:0 dfail:0 fail:0 skip:23
ro-hsw-i7-4770r total:102 pass:82 dwarn:0 dfail:0 fail:0 skip:19
ro-ilk1-i5-650 total:204 pass:146 dwarn:0 dfail:0 fail:1 skip:57
ro-ivb-i7-3770 total:102 pass:75 dwarn:0 dfail:0 fail:0 skip:26
ro-ivb2-i7-3770 total:102 pass:79 dwarn:0 dfail:0 fail:0 skip:22
ro-skl-i7-6700hq total:204 pass:170 dwarn:13 dfail:0 fail:0 skip:21
ro-snb-i7-2620M total:102 pass:72 dwarn:0 dfail:0 fail:0 skip:29
ro-bdw-i7-5557U failed to connect after reboot
Results at /archive/results/CI_IGT_test/RO_Patchwork_1122/
b067b4a drm-intel-nightly: 2016y-06m-06d-12h-04m-45s UTC integration manifest
5302cc8 drm/i915: Add DP branch device info on debugfs
837c11e drm/i915: Update bits per component for display info
a0f34b5 drm/i915: Check pixel rate for DP to VGA dongle
7196a2f drm: Read DP branch device SW revision
385f2e9 drm: Read DP branch device HW revision
706c3ac drm: Read DP branch device id
49c9f6f drm: Helper to read max bits per component
2168946 drm: Helper to read max clock rate
6c0c61b drm: Helper to read DP branch device type
b9833c6 drm: Read DP downstream port capabilities
3381148 drm: Add missing DP downstream port types
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v4 02/11] drm: Read DP downstream port capabilities
2016-06-06 13:29 ` [PATCH v4 02/11] drm: Read DP downstream port capabilities Mika Kahola
@ 2016-06-06 16:00 ` kbuild test robot
2016-06-09 7:52 ` Ville Syrjälä
1 sibling, 0 replies; 22+ messages in thread
From: kbuild test robot @ 2016-06-06 16:00 UTC (permalink / raw)
To: Mika Kahola; +Cc: daniel.vetter, intel-gfx, kbuild-all, dri-devel
[-- Attachment #1: Type: text/plain, Size: 20255 bytes --]
Hi,
[auto build test WARNING on drm/drm-next]
[also build test WARNING on v4.7-rc2 next-20160606]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Mika-Kahola/drm-i915-DP-branch-devices/20160606-213650
base: git://people.freedesktop.org/~airlied/linux.git drm-next
reproduce: make htmldocs
All warnings (new ones prefixed by >>):
drivers/gpu/drm/i915/i915_irq.c:606: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:606: warning: Excess function parameter 'dev' description in 'i915_enable_asle_pipestat'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: Excess function parameter 'dev' description in 'i915_reset_and_wakeup'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: Excess function parameter 'dev' description in 'i915_handle_error'
include/drm/drm_crtc.h:374: warning: No description found for parameter 'mode_blob'
include/drm/drm_crtc.h:789: warning: No description found for parameter 'name'
include/drm/drm_crtc.h:1248: warning: No description found for parameter 'connector_id'
include/drm/drm_crtc.h:1248: warning: No description found for parameter 'tile_blob_ptr'
include/drm/drm_crtc.h:1287: warning: No description found for parameter 'rotation'
include/drm/drm_crtc.h:1549: warning: No description found for parameter 'name'
include/drm/drm_crtc.h:1549: warning: No description found for parameter 'mutex'
include/drm/drm_crtc.h:1549: warning: No description found for parameter 'helper_private'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tile_idr'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'connector_ida'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'delayed_event'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'edid_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'dpms_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'path_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tile_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'plane_type_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'rotation_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_src_x'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_src_y'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_src_w'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_src_h'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_crtc_x'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_crtc_y'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_crtc_w'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_crtc_h'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_fb_id'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_crtc_id'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_active'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_mode_id'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'dvi_i_subconnector_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'dvi_i_select_subconnector_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_subconnector_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_select_subconnector_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_mode_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_left_margin_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_right_margin_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_top_margin_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_bottom_margin_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_brightness_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_contrast_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_flicker_reduction_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_overscan_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_saturation_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_hue_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'scaling_mode_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'aspect_ratio_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'dirty_info_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'suggested_x_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'suggested_y_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'allow_fb_modifiers'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: No description found for parameter 'nonblock'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: Excess function parameter 'nonblocking' description in 'drm_atomic_helper_commit'
drivers/gpu/drm/drm_atomic_helper.c:2946: warning: No description found for parameter 'start'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: No description found for parameter 'nonblock'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: Excess function parameter 'nonblocking' description in 'drm_atomic_helper_commit'
drivers/gpu/drm/drm_atomic_helper.c:2946: warning: No description found for parameter 'start'
drivers/gpu/drm/drm_atomic_helper.c:1: warning: no structured comments found
Was looking for 'implementing async commit'.
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: No description found for parameter 'nonblock'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: Excess function parameter 'nonblocking' description in 'drm_atomic_helper_commit'
drivers/gpu/drm/drm_atomic_helper.c:2946: warning: No description found for parameter 'start'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: No description found for parameter 'nonblock'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: Excess function parameter 'nonblocking' description in 'drm_atomic_helper_commit'
drivers/gpu/drm/drm_atomic_helper.c:2946: warning: No description found for parameter 'start'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'dev'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'file_priv'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'mode_cmd'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'funcs'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'dev'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'file_priv'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'mode_cmd'
drivers/gpu/drm/drm_fb_cma_helper.c:285: warning: No description found for parameter 'm'
drivers/gpu/drm/drm_fb_cma_helper.c:285: warning: No description found for parameter 'arg'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'dev'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'file_priv'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'mode_cmd'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'funcs'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'dev'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'file_priv'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'mode_cmd'
drivers/gpu/drm/drm_fb_cma_helper.c:285: warning: No description found for parameter 'm'
drivers/gpu/drm/drm_fb_cma_helper.c:285: warning: No description found for parameter 'arg'
>> drivers/gpu/drm/drm_dp_helper.c:451: warning: No description found for parameter 'aux'
include/drm/drm_dp_helper.h:753: warning: No description found for parameter 'i2c_nack_count'
include/drm/drm_dp_helper.h:753: warning: No description found for parameter 'i2c_defer_count'
>> drivers/gpu/drm/drm_dp_helper.c:451: warning: No description found for parameter 'aux'
drivers/gpu/drm/drm_dp_mst_topology.c:2383: warning: No description found for parameter 'connector'
include/drm/drm_dp_mst_helper.h:92: warning: No description found for parameter 'cached_edid'
include/drm/drm_dp_mst_helper.h:92: warning: No description found for parameter 'has_audio'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'max_dpcd_transaction_bytes'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'sink_count'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'total_slots'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'avail_slots'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'total_pbn'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'qlock'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'tx_msg_downq'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'tx_down_in_progress'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'payload_lock'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'proposed_vcpis'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'payloads'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'payload_mask'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'vcpi_mask'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'tx_waitq'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'work'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'tx_work'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'destroy_connector_list'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'destroy_connector_lock'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'destroy_connector_work'
drivers/gpu/drm/drm_dp_mst_topology.c:2383: warning: No description found for parameter 'connector'
drivers/gpu/drm/drm_irq.c:158: warning: No description found for parameter 'flags'
include/drm/drmP.h:169: warning: No description found for parameter 'fmt'
include/drm/drmP.h:185: warning: No description found for parameter 'fmt'
include/drm/drmP.h:203: warning: No description found for parameter 'fmt'
include/drm/drmP.h:248: warning: No description found for parameter 'dev'
include/drm/drmP.h:248: warning: No description found for parameter 'data'
include/drm/drmP.h:248: warning: No description found for parameter 'file_priv'
include/drm/drmP.h:281: warning: No description found for parameter 'ioctl'
include/drm/drmP.h:281: warning: No description found for parameter '_func'
include/drm/drmP.h:281: warning: No description found for parameter '_flags'
include/drm/drmP.h:363: warning: cannot understand function prototype: 'struct drm_lock_data '
include/drm/drmP.h:411: warning: cannot understand function prototype: 'struct drm_driver '
include/drm/drmP.h:677: warning: cannot understand function prototype: 'struct drm_info_list '
include/drm/drmP.h:687: warning: cannot understand function prototype: 'struct drm_info_node '
include/drm/drmP.h:697: warning: cannot understand function prototype: 'struct drm_minor '
include/drm/drmP.h:745: warning: cannot understand function prototype: 'struct drm_device '
drivers/gpu/drm/i915/intel_runtime_pm.c:2416: warning: No description found for parameter 'resume'
drivers/gpu/drm/i915/intel_runtime_pm.c:2416: warning: No description found for parameter 'resume'
drivers/gpu/drm/i915/i915_irq.c:606: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:606: warning: Excess function parameter 'dev' description in 'i915_enable_asle_pipestat'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: Excess function parameter 'dev' description in 'i915_reset_and_wakeup'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: Excess function parameter 'dev' description in 'i915_handle_error'
drivers/gpu/drm/i915/i915_irq.c:606: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:606: warning: Excess function parameter 'dev' description in 'i915_enable_asle_pipestat'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: Excess function parameter 'dev' description in 'i915_reset_and_wakeup'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: Excess function parameter 'dev' description in 'i915_handle_error'
drivers/gpu/drm/i915/i915_irq.c:606: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:606: warning: Excess function parameter 'dev' description in 'i915_enable_asle_pipestat'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: Excess function parameter 'dev' description in 'i915_reset_and_wakeup'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: Excess function parameter 'dev' description in 'i915_handle_error'
drivers/gpu/drm/i915/i915_irq.c:606: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:606: warning: Excess function parameter 'dev' description in 'i915_enable_asle_pipestat'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: Excess function parameter 'dev' description in 'i915_reset_and_wakeup'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: Excess function parameter 'dev' description in 'i915_handle_error'
drivers/gpu/drm/i915/i915_vgpu.c:62: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_vgpu.c:62: warning: Excess function parameter 'dev' description in 'i915_check_vgpu'
drivers/gpu/drm/i915/i915_vgpu.c:181: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_vgpu.c:181: warning: Excess function parameter 'dev_priv' description in 'intel_vgt_balloon'
drivers/gpu/drm/i915/i915_vgpu.c:62: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_vgpu.c:62: warning: Excess function parameter 'dev' description in 'i915_check_vgpu'
drivers/gpu/drm/i915/i915_vgpu.c:181: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_vgpu.c:181: warning: Excess function parameter 'dev_priv' description in 'intel_vgt_balloon'
drivers/gpu/drm/i915/i915_gem.c:416: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:416: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:416: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:681: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:681: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:681: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:762: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:762: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:762: warning: No description found for parameter 'args'
drivers/gpu/drm/i915/i915_gem.c:762: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1025: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1025: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:1025: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1231: warning: No description found for parameter 'rps'
drivers/gpu/drm/i915/i915_gem.c:1452: warning: No description found for parameter 'req'
drivers/gpu/drm/i915/i915_gem.c:1479: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:1479: warning: No description found for parameter 'readonly'
drivers/gpu/drm/i915/i915_gem.c:1596: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1596: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:1596: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1659: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1659: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:1659: warning: No description found for parameter 'file'
vim +/aux +451 drivers/gpu/drm/drm_dp_helper.c
435 return err;
436
437 return 0;
438 }
439 EXPORT_SYMBOL(drm_dp_link_configure);
440
441 /**
442 * drm_dp_downstream_port_cap() - read downstream port capabilities
443 * @dpcd: DisplayPort configuration data
444 * @port_cap: port capabilities
445 *
446 * returns size of the port capabilites
447 */
448 int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
449 const u8 dpcd[DP_RECEIVER_CAP_SIZE],
450 u8 port_cap[4])
> 451 {
452 int size;
453 bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
454 DP_DETAILED_CAP_INFO_AVAILABLE;
455
456 if (detailed_cap_info) {
457 size = 4;
458 drm_dp_dpcd_read(aux, DP_DOWNSTREAM_PORT_0, port_cap, size);
459 } else {
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 6366 bytes --]
[-- Attachment #3: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v4 06/11] drm: Read DP branch device id
2016-06-06 13:29 ` [PATCH v4 06/11] drm: Read DP branch device id Mika Kahola
@ 2016-06-06 17:55 ` kbuild test robot
0 siblings, 0 replies; 22+ messages in thread
From: kbuild test robot @ 2016-06-06 17:55 UTC (permalink / raw)
To: Mika Kahola; +Cc: daniel.vetter, intel-gfx, kbuild-all, dri-devel
[-- Attachment #1: Type: text/plain, Size: 23320 bytes --]
Hi,
[auto build test WARNING on drm/drm-next]
[also build test WARNING on v4.7-rc2 next-20160606]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Mika-Kahola/drm-i915-DP-branch-devices/20160606-213650
base: git://people.freedesktop.org/~airlied/linux.git drm-next
reproduce: make htmldocs
All warnings (new ones prefixed by >>):
drivers/gpu/drm/i915/i915_irq.c:606: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:606: warning: Excess function parameter 'dev' description in 'i915_enable_asle_pipestat'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: Excess function parameter 'dev' description in 'i915_reset_and_wakeup'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: Excess function parameter 'dev' description in 'i915_handle_error'
include/drm/drm_crtc.h:374: warning: No description found for parameter 'mode_blob'
include/drm/drm_crtc.h:789: warning: No description found for parameter 'name'
include/drm/drm_crtc.h:1248: warning: No description found for parameter 'connector_id'
include/drm/drm_crtc.h:1248: warning: No description found for parameter 'tile_blob_ptr'
include/drm/drm_crtc.h:1287: warning: No description found for parameter 'rotation'
include/drm/drm_crtc.h:1549: warning: No description found for parameter 'name'
include/drm/drm_crtc.h:1549: warning: No description found for parameter 'mutex'
include/drm/drm_crtc.h:1549: warning: No description found for parameter 'helper_private'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tile_idr'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'connector_ida'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'delayed_event'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'edid_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'dpms_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'path_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tile_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'plane_type_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'rotation_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_src_x'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_src_y'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_src_w'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_src_h'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_crtc_x'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_crtc_y'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_crtc_w'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_crtc_h'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_fb_id'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_crtc_id'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_active'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'prop_mode_id'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'dvi_i_subconnector_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'dvi_i_select_subconnector_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_subconnector_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_select_subconnector_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_mode_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_left_margin_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_right_margin_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_top_margin_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_bottom_margin_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_brightness_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_contrast_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_flicker_reduction_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_overscan_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_saturation_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'tv_hue_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'scaling_mode_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'aspect_ratio_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'dirty_info_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'suggested_x_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'suggested_y_property'
include/drm/drm_crtc.h:2185: warning: No description found for parameter 'allow_fb_modifiers'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: No description found for parameter 'nonblock'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: Excess function parameter 'nonblocking' description in 'drm_atomic_helper_commit'
drivers/gpu/drm/drm_atomic_helper.c:2946: warning: No description found for parameter 'start'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: No description found for parameter 'nonblock'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: Excess function parameter 'nonblocking' description in 'drm_atomic_helper_commit'
drivers/gpu/drm/drm_atomic_helper.c:2946: warning: No description found for parameter 'start'
drivers/gpu/drm/drm_atomic_helper.c:1: warning: no structured comments found
Was looking for 'implementing async commit'.
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: No description found for parameter 'nonblock'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: Excess function parameter 'nonblocking' description in 'drm_atomic_helper_commit'
drivers/gpu/drm/drm_atomic_helper.c:2946: warning: No description found for parameter 'start'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: No description found for parameter 'nonblock'
drivers/gpu/drm/drm_atomic_helper.c:1150: warning: Excess function parameter 'nonblocking' description in 'drm_atomic_helper_commit'
drivers/gpu/drm/drm_atomic_helper.c:2946: warning: No description found for parameter 'start'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'dev'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'file_priv'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'mode_cmd'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'funcs'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'dev'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'file_priv'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'mode_cmd'
drivers/gpu/drm/drm_fb_cma_helper.c:285: warning: No description found for parameter 'm'
drivers/gpu/drm/drm_fb_cma_helper.c:285: warning: No description found for parameter 'arg'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'dev'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'file_priv'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'mode_cmd'
drivers/gpu/drm/drm_fb_cma_helper.c:173: warning: No description found for parameter 'funcs'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'dev'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'file_priv'
drivers/gpu/drm/drm_fb_cma_helper.c:233: warning: No description found for parameter 'mode_cmd'
drivers/gpu/drm/drm_fb_cma_helper.c:285: warning: No description found for parameter 'm'
drivers/gpu/drm/drm_fb_cma_helper.c:285: warning: No description found for parameter 'arg'
drivers/gpu/drm/drm_dp_helper.c:451: warning: No description found for parameter 'aux'
>> drivers/gpu/drm/drm_dp_helper.c:548: warning: No description found for parameter 'id[6]'
include/drm/drm_dp_helper.h:754: warning: No description found for parameter 'i2c_nack_count'
include/drm/drm_dp_helper.h:754: warning: No description found for parameter 'i2c_defer_count'
drivers/gpu/drm/drm_dp_helper.c:451: warning: No description found for parameter 'aux'
>> drivers/gpu/drm/drm_dp_helper.c:548: warning: No description found for parameter 'id[6]'
drivers/gpu/drm/drm_dp_mst_topology.c:2383: warning: No description found for parameter 'connector'
include/drm/drm_dp_mst_helper.h:92: warning: No description found for parameter 'cached_edid'
include/drm/drm_dp_mst_helper.h:92: warning: No description found for parameter 'has_audio'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'max_dpcd_transaction_bytes'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'sink_count'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'total_slots'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'avail_slots'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'total_pbn'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'qlock'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'tx_msg_downq'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'tx_down_in_progress'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'payload_lock'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'proposed_vcpis'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'payloads'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'payload_mask'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'vcpi_mask'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'tx_waitq'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'work'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'tx_work'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'destroy_connector_list'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'destroy_connector_lock'
include/drm/drm_dp_mst_helper.h:466: warning: No description found for parameter 'destroy_connector_work'
drivers/gpu/drm/drm_dp_mst_topology.c:2383: warning: No description found for parameter 'connector'
drivers/gpu/drm/drm_irq.c:158: warning: No description found for parameter 'flags'
include/drm/drmP.h:169: warning: No description found for parameter 'fmt'
include/drm/drmP.h:185: warning: No description found for parameter 'fmt'
include/drm/drmP.h:203: warning: No description found for parameter 'fmt'
include/drm/drmP.h:248: warning: No description found for parameter 'dev'
include/drm/drmP.h:248: warning: No description found for parameter 'data'
include/drm/drmP.h:248: warning: No description found for parameter 'file_priv'
include/drm/drmP.h:281: warning: No description found for parameter 'ioctl'
include/drm/drmP.h:281: warning: No description found for parameter '_func'
include/drm/drmP.h:281: warning: No description found for parameter '_flags'
include/drm/drmP.h:363: warning: cannot understand function prototype: 'struct drm_lock_data '
include/drm/drmP.h:411: warning: cannot understand function prototype: 'struct drm_driver '
include/drm/drmP.h:677: warning: cannot understand function prototype: 'struct drm_info_list '
include/drm/drmP.h:687: warning: cannot understand function prototype: 'struct drm_info_node '
include/drm/drmP.h:697: warning: cannot understand function prototype: 'struct drm_minor '
include/drm/drmP.h:745: warning: cannot understand function prototype: 'struct drm_device '
drivers/gpu/drm/i915/intel_runtime_pm.c:2416: warning: No description found for parameter 'resume'
drivers/gpu/drm/i915/intel_runtime_pm.c:2416: warning: No description found for parameter 'resume'
drivers/gpu/drm/i915/i915_irq.c:606: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:606: warning: Excess function parameter 'dev' description in 'i915_enable_asle_pipestat'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: Excess function parameter 'dev' description in 'i915_reset_and_wakeup'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: Excess function parameter 'dev' description in 'i915_handle_error'
drivers/gpu/drm/i915/i915_irq.c:606: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:606: warning: Excess function parameter 'dev' description in 'i915_enable_asle_pipestat'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: Excess function parameter 'dev' description in 'i915_reset_and_wakeup'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: Excess function parameter 'dev' description in 'i915_handle_error'
drivers/gpu/drm/i915/i915_irq.c:606: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:606: warning: Excess function parameter 'dev' description in 'i915_enable_asle_pipestat'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: Excess function parameter 'dev' description in 'i915_reset_and_wakeup'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: Excess function parameter 'dev' description in 'i915_handle_error'
drivers/gpu/drm/i915/i915_irq.c:606: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:606: warning: Excess function parameter 'dev' description in 'i915_enable_asle_pipestat'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2538: warning: Excess function parameter 'dev' description in 'i915_reset_and_wakeup'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: No description found for parameter 'fmt'
drivers/gpu/drm/i915/i915_irq.c:2700: warning: Excess function parameter 'dev' description in 'i915_handle_error'
drivers/gpu/drm/i915/i915_vgpu.c:62: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_vgpu.c:62: warning: Excess function parameter 'dev' description in 'i915_check_vgpu'
drivers/gpu/drm/i915/i915_vgpu.c:181: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_vgpu.c:181: warning: Excess function parameter 'dev_priv' description in 'intel_vgt_balloon'
drivers/gpu/drm/i915/i915_vgpu.c:62: warning: No description found for parameter 'dev_priv'
drivers/gpu/drm/i915/i915_vgpu.c:62: warning: Excess function parameter 'dev' description in 'i915_check_vgpu'
drivers/gpu/drm/i915/i915_vgpu.c:181: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_vgpu.c:181: warning: Excess function parameter 'dev_priv' description in 'intel_vgt_balloon'
drivers/gpu/drm/i915/i915_gem.c:416: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:416: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:416: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:681: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:681: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:681: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:762: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:762: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:762: warning: No description found for parameter 'args'
drivers/gpu/drm/i915/i915_gem.c:762: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1025: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1025: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:1025: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1231: warning: No description found for parameter 'rps'
drivers/gpu/drm/i915/i915_gem.c:1452: warning: No description found for parameter 'req'
drivers/gpu/drm/i915/i915_gem.c:1479: warning: No description found for parameter 'obj'
drivers/gpu/drm/i915/i915_gem.c:1479: warning: No description found for parameter 'readonly'
drivers/gpu/drm/i915/i915_gem.c:1596: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1596: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:1596: warning: No description found for parameter 'file'
drivers/gpu/drm/i915/i915_gem.c:1659: warning: No description found for parameter 'dev'
drivers/gpu/drm/i915/i915_gem.c:1659: warning: No description found for parameter 'data'
drivers/gpu/drm/i915/i915_gem.c:1659: warning: No description found for parameter 'file'
vim +548 drivers/gpu/drm/drm_dp_helper.c
445 *
446 * returns size of the port capabilites
447 */
448 int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
449 const u8 dpcd[DP_RECEIVER_CAP_SIZE],
450 u8 port_cap[4])
> 451 {
452 int size;
453 bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
454 DP_DETAILED_CAP_INFO_AVAILABLE;
455
456 if (detailed_cap_info) {
457 size = 4;
458 drm_dp_dpcd_read(aux, DP_DOWNSTREAM_PORT_0, port_cap, size);
459 } else {
460 size = 1;
461 drm_dp_dpcd_read(aux, DP_DOWNSTREAM_PORT_0, &port_cap[0], size);
462 }
463
464 return size;
465 }
466 EXPORT_SYMBOL(drm_dp_downstream_port_cap);
467
468 /**
469 * drm_dp_downstream_type() - extract downstream port type
470 * @dpcd: DisplayPort configuration data
471 * @port_cap: port capabilities
472 *
473 * Returns type in success or negative error code on failure
474 */
475 int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
476 const u8 port_cap[4])
477 {
478 return port_cap[0] & DP_DS_PORT_TYPE_MASK;
479 }
480 EXPORT_SYMBOL(drm_dp_downstream_type);
481
482 /**
483 * drm_dp_downstream_max_clock() - extract branch device max
484 * pixel rate for legacy VGA
485 * converter or max TMDS clock
486 * rate for others
487 * @dpcd: DisplayPort configuration data
488 * @port_cap: port capabilities
489 *
490 * Returns max clock in kHz on success or negative error code on failure
491 */
492 int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
493 const u8 port_cap[4])
494 {
495 int type = drm_dp_downstream_type(dpcd, port_cap);
496 bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
497 DP_DETAILED_CAP_INFO_AVAILABLE;
498
499 if (detailed_cap_info) {
500 if (type == DP_DS_PORT_TYPE_VGA)
501 return port_cap[1] * 8 * 1000;
502 else if (type != DP_DS_PORT_TYPE_WIRELESS)
503 return port_cap[1] * 2500;
504 }
505
506 return -EINVAL;
507 }
508 EXPORT_SYMBOL(drm_dp_downstream_max_clock);
509
510 /**
511 * drm_dp_downstream_max_bpc() - extract branch device max
512 * bits per component
513 * @dpcd: DisplayPort configuration data
514 * @port_cap: port capabilities
515 *
516 * Returns max bpc on success or negative error code on failure
517 */
518 int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
519 const u8 port_cap[4])
520 {
521 int type = drm_dp_downstream_type(dpcd, port_cap);
522 bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
523 DP_DETAILED_CAP_INFO_AVAILABLE;
524
525 if (detailed_cap_info) {
526 if (type != DP_DS_PORT_TYPE_WIRELESS) {
527 int tmp;
528 tmp = port_cap[2] & DP_DS_VGA_MAX_BPC_MASK;
529
530 if (tmp == 0)
531 return 8;
532 else
533 return 8 + (1<<tmp);
534 }
535 }
536
537 return -EINVAL;
538 }
539 EXPORT_SYMBOL(drm_dp_downstream_max_bpc);
540
541 /**
542 * drm_dp_downstream_id() - identify branch device
543 * @aux: DisplayPort AUX channel
544 *
545 * Returns branch device id on success or NULL on failure
546 */
547 int drm_dp_downstream_id(struct drm_dp_aux *aux, char id[6])
> 548 {
549 return drm_dp_dpcd_read(aux, DP_BRANCH_ID, id, 6);
550 }
551 EXPORT_SYMBOL(drm_dp_downstream_id);
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 6366 bytes --]
[-- Attachment #3: Type: text/plain, Size: 160 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v4 02/11] drm: Read DP downstream port capabilities
2016-06-06 13:29 ` [PATCH v4 02/11] drm: Read DP downstream port capabilities Mika Kahola
2016-06-06 16:00 ` kbuild test robot
@ 2016-06-09 7:52 ` Ville Syrjälä
1 sibling, 0 replies; 22+ messages in thread
From: Ville Syrjälä @ 2016-06-09 7:52 UTC (permalink / raw)
To: Mika Kahola; +Cc: daniel.vetter, intel-gfx, dri-devel
On Mon, Jun 06, 2016 at 04:29:04PM +0300, Mika Kahola wrote:
> Read DisplayPort downstream port capabilities. Depending on
> the DP port the capabilities are defined in length of 1 byte
> or 4 bytes depending if the detailed capability information is
> available.
>
> Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/drm_dp_helper.c | 27 +++++++++++++++++++++++++++
> include/drm/drm_dp_helper.h | 3 +++
> 2 files changed, 30 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
> index eeaf5a7..c4149fd 100644
> --- a/drivers/gpu/drm/drm_dp_helper.c
> +++ b/drivers/gpu/drm/drm_dp_helper.c
> @@ -438,6 +438,33 @@ int drm_dp_link_configure(struct drm_dp_aux *aux, struct drm_dp_link *link)
> }
> EXPORT_SYMBOL(drm_dp_link_configure);
>
> +/**
> + * drm_dp_downstream_port_cap() - read downstream port capabilities
> + * @dpcd: DisplayPort configuration data
> + * @port_cap: port capabilities
> + *
> + * returns size of the port capabilites
> + */
> +int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
> + const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> + u8 port_cap[4])
> +{
> + int size;
> + bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
> + DP_DETAILED_CAP_INFO_AVAILABLE;
> +
> + if (detailed_cap_info) {
> + size = 4;
> + drm_dp_dpcd_read(aux, DP_DOWNSTREAM_PORT_0, port_cap, size);
> + } else {
> + size = 1;
> + drm_dp_dpcd_read(aux, DP_DOWNSTREAM_PORT_0, &port_cap[0], size);
> + }
Could avoid a bit of duplicatetion. Eg.:
if (dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DETAILED_CAP_INFO_AVAILABLE)
size = 4;
else
size = 1;
return drm_dp_dpcd_read(...);
Though perhaps we should just read out the entire 4/16 bytes to get the
caps for all the ports?
> +
> + return size;
> +}
> +EXPORT_SYMBOL(drm_dp_downstream_port_cap);
> +
> /*
> * I2C-over-AUX implementation
> */
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index e384c7f..db8d3d47 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -806,6 +806,9 @@ int drm_dp_link_probe(struct drm_dp_aux *aux, struct drm_dp_link *link);
> int drm_dp_link_power_up(struct drm_dp_aux *aux, struct drm_dp_link *link);
> int drm_dp_link_power_down(struct drm_dp_aux *aux, struct drm_dp_link *link);
> int drm_dp_link_configure(struct drm_dp_aux *aux, struct drm_dp_link *link);
> +int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
> + const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> + u8 port_cap[4]);
>
> int drm_dp_aux_register(struct drm_dp_aux *aux);
> void drm_dp_aux_unregister(struct drm_dp_aux *aux);
> --
> 1.9.1
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v4 03/11] drm: Helper to read DP branch device type
2016-06-06 13:29 ` [PATCH v4 03/11] drm: Helper to read DP branch device type Mika Kahola
@ 2016-06-09 7:57 ` Ville Syrjälä
0 siblings, 0 replies; 22+ messages in thread
From: Ville Syrjälä @ 2016-06-09 7:57 UTC (permalink / raw)
To: Mika Kahola; +Cc: daniel.vetter, intel-gfx, jim.bride, dri-devel
On Mon, Jun 06, 2016 at 04:29:05PM +0300, Mika Kahola wrote:
> Helper routine to read out DisplayPort branch device type. The spec
> defines these type as following
>
> 0 DisplayPort
> 1 Analog VGA
> 2 DVI
> 3 HDMI
> 4 Others without EDID support
> 5 DP++
> 6 Wireless
> 7 Reserved
>
> Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/drm_dp_helper.c | 14 ++++++++++++++
> include/drm/drm_dp_helper.h | 1 +
> 2 files changed, 15 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
> index c4149fd..7d3b245 100644
> --- a/drivers/gpu/drm/drm_dp_helper.c
> +++ b/drivers/gpu/drm/drm_dp_helper.c
> @@ -465,6 +465,20 @@ int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
> }
> EXPORT_SYMBOL(drm_dp_downstream_port_cap);
>
> +/**
> + * drm_dp_downstream_type() - extract downstream port type
> + * @dpcd: DisplayPort configuration data
> + * @port_cap: port capabilities
> + *
> + * Returns type in success or negative error code on failure
> + */
> +int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> + const u8 port_cap[4])
> +{
> + return port_cap[0] & DP_DS_PORT_TYPE_MASK;
> +}
> +EXPORT_SYMBOL(drm_dp_downstream_type);
Seems rather pointless to me.
> +
> /*
> * I2C-over-AUX implementation
> */
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index db8d3d47..f290829 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -809,6 +809,7 @@ int drm_dp_link_configure(struct drm_dp_aux *aux, struct drm_dp_link *link);
> int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
> const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> u8 port_cap[4]);
> +int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], const u8 port_cap[4]);
>
> int drm_dp_aux_register(struct drm_dp_aux *aux);
> void drm_dp_aux_unregister(struct drm_dp_aux *aux);
> --
> 1.9.1
--
Ville Syrjälä
Intel OTC
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v4 04/11] drm: Helper to read max clock rate
2016-06-06 13:29 ` [PATCH v4 04/11] drm: Helper to read max clock rate Mika Kahola
@ 2016-06-09 7:59 ` Ville Syrjälä
0 siblings, 0 replies; 22+ messages in thread
From: Ville Syrjälä @ 2016-06-09 7:59 UTC (permalink / raw)
To: Mika Kahola; +Cc: daniel.vetter, intel-gfx, dri-devel
On Mon, Jun 06, 2016 at 04:29:06PM +0300, Mika Kahola wrote:
> Helper routine to read out maximum supported pixel rate
> for DisplayPort legay VGA converter or TMDS clock rate
> for other digital legacy converters. The helper returns
> clock rate in kHz.
>
> Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/drm_dp_helper.c | 28 ++++++++++++++++++++++++++++
> include/drm/drm_dp_helper.h | 2 ++
> 2 files changed, 30 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
> index 7d3b245..18b72eb 100644
> --- a/drivers/gpu/drm/drm_dp_helper.c
> +++ b/drivers/gpu/drm/drm_dp_helper.c
> @@ -479,6 +479,34 @@ int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> }
> EXPORT_SYMBOL(drm_dp_downstream_type);
>
> +/**
> + * drm_dp_downstream_max_clock() - extract branch device max
> + * pixel rate for legacy VGA
> + * converter or max TMDS clock
> + * rate for others
> + * @dpcd: DisplayPort configuration data
> + * @port_cap: port capabilities
> + *
> + * Returns max clock in kHz on success or negative error code on failure
> + */
> +int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> + const u8 port_cap[4])
> +{
> + int type = drm_dp_downstream_type(dpcd, port_cap);
> + bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
> + DP_DETAILED_CAP_INFO_AVAILABLE;
> +
> + if (detailed_cap_info) {
Could swap this over to an early return and then we don't have to indent
the actual meat of the function.
> + if (type == DP_DS_PORT_TYPE_VGA)
> + return port_cap[1] * 8 * 1000;
> + else if (type != DP_DS_PORT_TYPE_WIRELESS)
> + return port_cap[1] * 2500;
That's not correct. I suggest a switch() and deal with each type
explicitly.
> + }
> +
> + return -EINVAL;
I think I'd return 0 for the "we don't know" case. That way we can use
this directly without worrying about negative values.
> +}
> +EXPORT_SYMBOL(drm_dp_downstream_max_clock);
> +
> /*
> * I2C-over-AUX implementation
> */
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index f290829..c3324d3 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -810,6 +810,8 @@ int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
> const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> u8 port_cap[4]);
> int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], const u8 port_cap[4]);
> +int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> + const u8 port_cap[4]);
>
> int drm_dp_aux_register(struct drm_dp_aux *aux);
> void drm_dp_aux_unregister(struct drm_dp_aux *aux);
> --
> 1.9.1
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v4 05/11] drm: Helper to read max bits per component
2016-06-06 13:29 ` [PATCH v4 05/11] drm: Helper to read max bits per component Mika Kahola
@ 2016-06-09 8:02 ` Ville Syrjälä
2016-06-09 10:08 ` Mika Kahola
0 siblings, 1 reply; 22+ messages in thread
From: Ville Syrjälä @ 2016-06-09 8:02 UTC (permalink / raw)
To: Mika Kahola; +Cc: daniel.vetter, intel-gfx, dri-devel
On Mon, Jun 06, 2016 at 04:29:07PM +0300, Mika Kahola wrote:
> Helper routine to read out maximum supported bits per
> component for DisplayPort legay converters.
>
> Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/drm_dp_helper.c | 31 +++++++++++++++++++++++++++++++
> include/drm/drm_dp_helper.h | 2 ++
> 2 files changed, 33 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
> index 18b72eb..bac0ccc 100644
> --- a/drivers/gpu/drm/drm_dp_helper.c
> +++ b/drivers/gpu/drm/drm_dp_helper.c
> @@ -507,6 +507,37 @@ int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> }
> EXPORT_SYMBOL(drm_dp_downstream_max_clock);
>
> +/**
> + * drm_dp_downstream_max_bpc() - extract branch device max
> + * bits per component
> + * @dpcd: DisplayPort configuration data
> + * @port_cap: port capabilities
> + *
> + * Returns max bpc on success or negative error code on failure
> + */
> +int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> + const u8 port_cap[4])
> +{
> + int type = drm_dp_downstream_type(dpcd, port_cap);
> + bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
> + DP_DETAILED_CAP_INFO_AVAILABLE;
> +
> + if (detailed_cap_info) {
Early return again.
> + if (type != DP_DS_PORT_TYPE_WIRELESS) {
switch() again.
> + int tmp;
> + tmp = port_cap[2] & DP_DS_VGA_MAX_BPC_MASK;
Should drop the "VGA" from that stuff since it applies to more than
that.
> +
> + if (tmp == 0)
> + return 8;
> + else
> + return 8 + (1<<tmp);
switch() with each case would be less magicy.
> + }
> + }
> +
> + return -EINVAL;
Again I think I'd just use 0 here.
> +}
> +EXPORT_SYMBOL(drm_dp_downstream_max_bpc);
> +
> /*
> * I2C-over-AUX implementation
> */
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index c3324d3..d4abc38 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -812,6 +812,8 @@ int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
> int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], const u8 port_cap[4]);
> 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],
> + const u8 port_cap[4]);
>
> int drm_dp_aux_register(struct drm_dp_aux *aux);
> void drm_dp_aux_unregister(struct drm_dp_aux *aux);
> --
> 1.9.1
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v4 09/11] drm/i915: Check pixel rate for DP to VGA dongle
2016-06-06 13:29 ` [PATCH v4 09/11] drm/i915: Check pixel rate for DP to VGA dongle Mika Kahola
@ 2016-06-09 8:14 ` Ville Syrjälä
2016-06-09 8:27 ` Kahola, Mika
0 siblings, 1 reply; 22+ messages in thread
From: Ville Syrjälä @ 2016-06-09 8:14 UTC (permalink / raw)
To: Mika Kahola; +Cc: daniel.vetter, intel-gfx, jim.bride, dri-devel
On Mon, Jun 06, 2016 at 04:29:11PM +0300, Mika Kahola wrote:
> Filter out a mode that exceeds the max pixel rate setting
> for DP to VGA dongle. This is defined in DPCD register 0x81
> if detailed cap info i.e. info field is 4 bytes long and
> it is available for DP downstream port.
>
> The register defines the pixel rate divided by 8 in MP/s.
>
> v2: DPCD read outs and computation moved to drm (Ville, Daniel)
> v3: Sink pixel rate computation moved to drm_dp_max_sink_dotclock()
> function (Daniel)
> v4: Use of drm_dp_helper.c routines to compute max pixel clock (Ville)
>
> Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 096acbf0..1b94347 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -200,6 +200,23 @@ intel_dp_mode_valid(struct drm_connector *connector,
> int target_clock = mode->clock;
> int max_rate, mode_rate, max_lanes, max_link_clock;
> int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
> + bool is_branch_device;
> + int max_dp_clk;
> + int type;
> + uint8_t port_cap[4];
> +
> + is_branch_device = intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] &
> + DP_DWN_STRM_PORT_PRESENT;
> +
> + if (is_branch_device) {
> + drm_dp_downstream_port_cap(&intel_dp->aux, intel_dp->dpcd, port_cap);
I'm pretty sure we already read out the downstream port caps in fact.
Hmm, yeah ->downstream_ports. So no need for this, and I suppose no need
for your helper for the readout either. Just always readoing out the
full 16 bytes should be fine.
> + type = drm_dp_downstream_type(intel_dp->dpcd, port_cap);
> + max_dp_clk = drm_dp_downstream_max_clock(intel_dp->dpcd, port_cap);
> +
> + if ((type == DP_DS_PORT_TYPE_VGA) && (max_dp_clk > 0)) {
Type check can be skipped if drm_dp_downstream_max_clock() just returns
0 for the "don't know" case.
> + max_dotclk = min(max_dotclk, max_dp_clk);
> + }
> + }
>
> if (is_edp(intel_dp) && fixed_mode) {
> if (mode->hdisplay > fixed_mode->hdisplay)
> --
> 1.9.1
--
Ville Syrjälä
Intel OTC
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v4 09/11] drm/i915: Check pixel rate for DP to VGA dongle
2016-06-09 8:14 ` Ville Syrjälä
@ 2016-06-09 8:27 ` Kahola, Mika
0 siblings, 0 replies; 22+ messages in thread
From: Kahola, Mika @ 2016-06-09 8:27 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: daniel.vetter, intel-gfx, dri-devel
> -----Original Message-----
> From: Ville Syrjälä [mailto:ville.syrjala@linux.intel.com]
> Sent: Thursday, June 9, 2016 11:14 AM
> To: Kahola, Mika <mika.kahola@intel.com>
> Cc: dri-devel@lists.freedesktop.org; intel-gfx@lists.freedesktop.org;
> jim.bride@linux.intel.com; daniel.vetter@ffwll.ch
> Subject: Re: [PATCH v4 09/11] drm/i915: Check pixel rate for DP to VGA
> dongle
>
> On Mon, Jun 06, 2016 at 04:29:11PM +0300, Mika Kahola wrote:
> > Filter out a mode that exceeds the max pixel rate setting for DP to
> > VGA dongle. This is defined in DPCD register 0x81 if detailed cap info
> > i.e. info field is 4 bytes long and it is available for DP downstream
> > port.
> >
> > The register defines the pixel rate divided by 8 in MP/s.
> >
> > v2: DPCD read outs and computation moved to drm (Ville, Daniel)
> > v3: Sink pixel rate computation moved to drm_dp_max_sink_dotclock()
> > function (Daniel)
> > v4: Use of drm_dp_helper.c routines to compute max pixel clock (Ville)
> >
> > Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_dp.c | 17 +++++++++++++++++
> > 1 file changed, 17 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_dp.c
> > b/drivers/gpu/drm/i915/intel_dp.c index 096acbf0..1b94347 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -200,6 +200,23 @@ intel_dp_mode_valid(struct drm_connector
> *connector,
> > int target_clock = mode->clock;
> > int max_rate, mode_rate, max_lanes, max_link_clock;
> > int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
> > + bool is_branch_device;
> > + int max_dp_clk;
> > + int type;
> > + uint8_t port_cap[4];
> > +
> > + is_branch_device = intel_dp-
> >dpcd[DP_DOWNSTREAMPORT_PRESENT] &
> > + DP_DWN_STRM_PORT_PRESENT;
> > +
> > + if (is_branch_device) {
> > + drm_dp_downstream_port_cap(&intel_dp->aux, intel_dp-
> >dpcd,
> > +port_cap);
>
> I'm pretty sure we already read out the downstream port caps in fact.
> Hmm, yeah ->downstream_ports. So no need for this, and I suppose no
> need for your helper for the readout either. Just always readoing out the full
> 16 bytes should be fine.
Right, I missed that one. We do read port caps with ->downstream_ports. I'll skip the helper routines regarding reading out port cap info.
>
> > + type = drm_dp_downstream_type(intel_dp->dpcd,
> port_cap);
> > + max_dp_clk = drm_dp_downstream_max_clock(intel_dp-
> >dpcd, port_cap);
> > +
> > + if ((type == DP_DS_PORT_TYPE_VGA) && (max_dp_clk > 0))
> {
>
> Type check can be skipped if drm_dp_downstream_max_clock() just returns
> 0 for the "don't know" case.
>
> > + max_dotclk = min(max_dotclk, max_dp_clk);
> > + }
> > + }
> >
> > if (is_edp(intel_dp) && fixed_mode) {
> > if (mode->hdisplay > fixed_mode->hdisplay)
> > --
> > 1.9.1
>
> --
> Ville Syrjälä
> Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH v4 05/11] drm: Helper to read max bits per component
2016-06-09 8:02 ` Ville Syrjälä
@ 2016-06-09 10:08 ` Mika Kahola
0 siblings, 0 replies; 22+ messages in thread
From: Mika Kahola @ 2016-06-09 10:08 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: daniel.vetter, intel-gfx, dri-devel
On Thu, 2016-06-09 at 11:02 +0300, Ville Syrjälä wrote:
> On Mon, Jun 06, 2016 at 04:29:07PM +0300, Mika Kahola wrote:
> > Helper routine to read out maximum supported bits per
> > component for DisplayPort legay converters.
> >
> > Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> > ---
> > drivers/gpu/drm/drm_dp_helper.c | 31 +++++++++++++++++++++++++++++++
> > include/drm/drm_dp_helper.h | 2 ++
> > 2 files changed, 33 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_dp_helper.c b/drivers/gpu/drm/drm_dp_helper.c
> > index 18b72eb..bac0ccc 100644
> > --- a/drivers/gpu/drm/drm_dp_helper.c
> > +++ b/drivers/gpu/drm/drm_dp_helper.c
> > @@ -507,6 +507,37 @@ int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > }
> > EXPORT_SYMBOL(drm_dp_downstream_max_clock);
> >
> > +/**
> > + * drm_dp_downstream_max_bpc() - extract branch device max
> > + * bits per component
> > + * @dpcd: DisplayPort configuration data
> > + * @port_cap: port capabilities
> > + *
> > + * Returns max bpc on success or negative error code on failure
> > + */
> > +int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE],
> > + const u8 port_cap[4])
> > +{
> > + int type = drm_dp_downstream_type(dpcd, port_cap);
> > + bool detailed_cap_info = dpcd[DP_DOWNSTREAMPORT_PRESENT] &
> > + DP_DETAILED_CAP_INFO_AVAILABLE;
> > +
> > + if (detailed_cap_info) {
>
> Early return again.
>
> > + if (type != DP_DS_PORT_TYPE_WIRELESS) {
>
> switch() again.
>
> > + int tmp;
> > + tmp = port_cap[2] & DP_DS_VGA_MAX_BPC_MASK;
>
> Should drop the "VGA" from that stuff since it applies to more than
> that.
Agreed. Maybe we could rename it as DP_DS_MAX_BPC_MASK instead.
>
> > +
> > + if (tmp == 0)
> > + return 8;
> > + else
> > + return 8 + (1<<tmp);
>
> switch() with each case would be less magicy.
>
> > + }
> > + }
> > +
> > + return -EINVAL;
>
> Again I think I'd just use 0 here.
>
> > +}
> > +EXPORT_SYMBOL(drm_dp_downstream_max_bpc);
> > +
> > /*
> > * I2C-over-AUX implementation
> > */
> > diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> > index c3324d3..d4abc38 100644
> > --- a/include/drm/drm_dp_helper.h
> > +++ b/include/drm/drm_dp_helper.h
> > @@ -812,6 +812,8 @@ int drm_dp_downstream_port_cap(struct drm_dp_aux *aux,
> > int drm_dp_downstream_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], const u8 port_cap[4]);
> > 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],
> > + const u8 port_cap[4]);
> >
> > int drm_dp_aux_register(struct drm_dp_aux *aux);
> > void drm_dp_aux_unregister(struct drm_dp_aux *aux);
> > --
> > 1.9.1
>
--
Mika Kahola - Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2016-06-09 10:08 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-06 13:29 [PATCH v4 00/11] drm/i915: DP branch devices Mika Kahola
2016-06-06 13:29 ` [PATCH v4 01/11] drm: Add missing DP downstream port types Mika Kahola
2016-06-06 13:29 ` [PATCH v4 02/11] drm: Read DP downstream port capabilities Mika Kahola
2016-06-06 16:00 ` kbuild test robot
2016-06-09 7:52 ` Ville Syrjälä
2016-06-06 13:29 ` [PATCH v4 03/11] drm: Helper to read DP branch device type Mika Kahola
2016-06-09 7:57 ` Ville Syrjälä
2016-06-06 13:29 ` [PATCH v4 04/11] drm: Helper to read max clock rate Mika Kahola
2016-06-09 7:59 ` Ville Syrjälä
2016-06-06 13:29 ` [PATCH v4 05/11] drm: Helper to read max bits per component Mika Kahola
2016-06-09 8:02 ` Ville Syrjälä
2016-06-09 10:08 ` Mika Kahola
2016-06-06 13:29 ` [PATCH v4 06/11] drm: Read DP branch device id Mika Kahola
2016-06-06 17:55 ` kbuild test robot
2016-06-06 13:29 ` [PATCH v4 07/11] drm: Read DP branch device HW revision Mika Kahola
2016-06-06 13:29 ` [PATCH v4 08/11] drm: Read DP branch device SW revision Mika Kahola
2016-06-06 13:29 ` [PATCH v4 09/11] drm/i915: Check pixel rate for DP to VGA dongle Mika Kahola
2016-06-09 8:14 ` Ville Syrjälä
2016-06-09 8:27 ` Kahola, Mika
2016-06-06 13:29 ` [PATCH v4 10/11] drm/i915: Update bits per component for display info Mika Kahola
2016-06-06 13:29 ` [PATCH v4 11/11] drm/i915: Add DP branch device info on debugfs Mika Kahola
2016-06-06 14:03 ` ✗ Ro.CI.BAT: warning for drm/i915: DP branch devices (rev4) Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.