drm/i915/opregion: proper handling of DIDL and CADL
Subsystems (2)
v2 cover drm/i915/opregion: proper handling of DIDL and CADL
This is v2 of [1].
Peter, sorry it took me so long to get back to this. Please confirm your reviewed-and-tested-by on the series.
Maarten, I'm not confident patch 5/5 is the best way to do this. Any suggestions?
BR,
Jani.
[1] http://mid.gmane.org/[email protected]
Jani Nikula (5):
drm/i915/opregion: add acpi defines from the spec drm/i915/opregion: abstract acpi display type getter for a connector drm/i915/opregion: handle missing connector types for acpi display
types
drm/i915: make i915 the source of acpi device ids for _DOD drm/i915/opregion: update cadl based on actually active outputs
drivers/gpu/drm/i915/i915_drv.h | 2 + drivers/gpu/drm/i915/intel_display.c | 2 + drivers/gpu/drm/i915/intel_drv.h | 3 + drivers/gpu/drm/i915/intel_opregion.c | 235 +++++++++++++++++----------------- 4 files changed, 126 insertions(+), 116 deletions(-)
Signature · 6 lines
2.1.4 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
PATCH v2 1/5 drm/i915/opregion: add acpi defines from the spec
It's easier to read the code when the macro names match the spec. Also add a bunch of missing ones. No functional changes.
--- drivers/gpu/drm/i915/intel_opregion.c | 37 +++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-)
drivers/gpu/drm/i915/intel_opregion.c +27 -10
@@ -232,11 +232,28 @@ struct opregion_asle_ext {#define SWSCI_SBCB_POST_VBE_PM SWSCI_FUNCTION_CODE(SWSCI_SBCB, 19)#define SWSCI_SBCB_ENABLE_DISABLE_AUDIO SWSCI_FUNCTION_CODE(SWSCI_SBCB, 21) -#define ACPI_OTHER_OUTPUT (0<<8) -#define ACPI_VGA_OUTPUT (1<<8) -#define ACPI_TV_OUTPUT (2<<8) -#define ACPI_DIGITAL_OUTPUT (3<<8) -#define ACPI_LVDS_OUTPUT (4<<8) +/* +* ACPI Specification, Revision 5.0, Appendix B.3.2 _DOD (Enumerate All Devices +* Attached to the Display Adapter). +*/ +#define ACPI_DISPLAY_INDEX_SHIFT 0 +#define ACPI_DISPLAY_INDEX_MASK (0xf << 0) +#define ACPI_DISPLAY_PORT_ATTACHMENT_SHIFT 4 +#define ACPI_DISPLAY_PORT_ATTACHMENT_MASK (0xf << 4) +#define ACPI_DISPLAY_TYPE_SHIFT 8 +#define ACPI_DISPLAY_TYPE_MASK (0xf << 8) +#define ACPI_DISPLAY_TYPE_OTHER (0 << 8) +#define ACPI_DISPLAY_TYPE_VGA (1 << 8) +#define ACPI_DISPLAY_TYPE_TV (2 << 8) +#define ACPI_DISPLAY_TYPE_EXTERNAL_DIGITAL (3 << 8) +#define ACPI_DISPLAY_TYPE_INTERNAL_DIGITAL (4 << 8) +#define ACPI_VENDOR_SPECIFIC_SHIFT 12 +#define ACPI_VENDOR_SPECIFIC_MASK (0xf << 12) +#define ACPI_BIOS_CAN_DETECT (1 << 16) +#define ACPI_DEPENDS_ON_VGA (1 << 17) +#define ACPI_PIPE_ID_SHIFT 18 +#define ACPI_PIPE_ID_MASK (7 << 18) +#define ACPI_DEVICE_ID_SCHEME (1 << 31)#define MAX_DSLP 1500
@@ -725,7 +742,7 @@ end: blind_set: i =0 ;list_for_each_entry (connector, &dev_priv->dev->mode_config.connector_list, head) { -int output_type =ACPI_OTHER_OUTPUT ; +int output_type =ACPI_DISPLAY_TYPE_OTHER ;if (i >= max_outputs) {DRM_DEBUG_KMS ("More than %u outputs in connector list\n" , max_outputs);
@@ -734,23 +751,23 @@ blind_set:switch (connector->connector_type) {case DRM_MODE_CONNECTOR_VGA :case DRM_MODE_CONNECTOR_DVIA : - output_type =ACPI_VGA_OUTPUT ; + output_type =ACPI_DISPLAY_TYPE_VGA ;break ;case DRM_MODE_CONNECTOR_Composite:case DRM_MODE_CONNECTOR_SVIDEO :case DRM_MODE_CONNECTOR_Component:case DRM_MODE_CONNECTOR_9PinDIN: - output_type =ACPI_TV_OUTPUT ; + output_type =ACPI_DISPLAY_TYPE_TV ;break ;case DRM_MODE_CONNECTOR_DVII :case DRM_MODE_CONNECTOR_DVID :case DRM_MODE_CONNECTOR_DisplayPort:case DRM_MODE_CONNECTOR_HDMIA :case DRM_MODE_CONNECTOR_HDMIB : - output_type =ACPI_DIGITAL_OUTPUT ; + output_type =ACPI_DISPLAY_TYPE_EXTERNAL_DIGITAL ;break ;case DRM_MODE_CONNECTOR_LVDS : - output_type =ACPI_LVDS_OUTPUT ; + output_type =ACPI_DISPLAY_TYPE_INTERNAL_DIGITAL ;break ; } temp =get_did (opregion, i);
Signature · 6 lines
2.1.4 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
PATCH v2 2/5 drm/i915/opregion: abstract acpi display type getter for a connector
In reply to Jani NikulaNo functional changes.
--- drivers/gpu/drm/i915/intel_opregion.c | 58 ++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 24 deletions(-)
drivers/gpu/drm/i915/intel_opregion.c +34 -24
@@ -674,6 +674,36 @@ static void set_did(struct intel_opregion *opregion, int i, u32 val) } } +static u32 acpi_display_type (struct drm_connector *connector) +{ +u32 display_type =ACPI_DISPLAY_TYPE_OTHER ; + +switch (connector->connector_type) { +case DRM_MODE_CONNECTOR_VGA : +case DRM_MODE_CONNECTOR_DVIA : + display_type =ACPI_DISPLAY_TYPE_VGA ; +break ; +case DRM_MODE_CONNECTOR_Composite: +case DRM_MODE_CONNECTOR_SVIDEO : +case DRM_MODE_CONNECTOR_Component: +case DRM_MODE_CONNECTOR_9PinDIN: + display_type =ACPI_DISPLAY_TYPE_TV ; +break ; +case DRM_MODE_CONNECTOR_DVII : +case DRM_MODE_CONNECTOR_DVID : +case DRM_MODE_CONNECTOR_DisplayPort: +case DRM_MODE_CONNECTOR_HDMIA : +case DRM_MODE_CONNECTOR_HDMIB : + display_type =ACPI_DISPLAY_TYPE_EXTERNAL_DIGITAL ; +break ; +case DRM_MODE_CONNECTOR_LVDS : + display_type =ACPI_DISPLAY_TYPE_INTERNAL_DIGITAL ; +break ; + } + +return display_type; +} +static void intel_didl_outputs (struct drm_i915_private *dev_priv) {struct intel_opregion *opregion = &dev_priv->opregion;
@@ -742,36 +772,16 @@ end: blind_set: i =0 ;list_for_each_entry (connector, &dev_priv->dev->mode_config.connector_list, head) { -int output_type =ACPI_DISPLAY_TYPE_OTHER ; +int display_type =acpi_display_type (connector); +if (i >= max_outputs) {DRM_DEBUG_KMS ("More than %u outputs in connector list\n" , max_outputs);return ; } -switch (connector->connector_type) { -case DRM_MODE_CONNECTOR_VGA : -case DRM_MODE_CONNECTOR_DVIA : - output_type =ACPI_DISPLAY_TYPE_VGA ; -break ; -case DRM_MODE_CONNECTOR_Composite: -case DRM_MODE_CONNECTOR_SVIDEO : -case DRM_MODE_CONNECTOR_Component: -case DRM_MODE_CONNECTOR_9PinDIN: - output_type =ACPI_DISPLAY_TYPE_TV ; -break ; -case DRM_MODE_CONNECTOR_DVII : -case DRM_MODE_CONNECTOR_DVID : -case DRM_MODE_CONNECTOR_DisplayPort: -case DRM_MODE_CONNECTOR_HDMIA : -case DRM_MODE_CONNECTOR_HDMIB : - output_type =ACPI_DISPLAY_TYPE_EXTERNAL_DIGITAL ; -break ; -case DRM_MODE_CONNECTOR_LVDS : - output_type =ACPI_DISPLAY_TYPE_INTERNAL_DIGITAL ; -break ; - } + temp =get_did (opregion, i); -set_did (opregion, i, temp | (1 <<31 ) | output_type | i); +set_did (opregion, i, temp | (1 <<31 ) | display_type | i); i++; } goto end;
Signature · 6 lines
2.1.4 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
PATCH v2 3/5 drm/i915/opregion: handle missing connector types for acpi display types
In reply to Jani NikulaMost notably eDP, DSI, and TV. Add MISSING_CASE handling so we won't miss this in the future.
--- drivers/gpu/drm/i915/intel_opregion.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_opregion.c +12 -1
@@ -676,7 +676,7 @@ static void set_did(struct intel_opregion *opregion, int i, u32 val)static u32 acpi_display_type (struct drm_connector *connector) { -u32 display_type =ACPI_DISPLAY_TYPE_OTHER ; +u32 display_type;switch (connector->connector_type) {case DRM_MODE_CONNECTOR_VGA :
@@ -687,6 +687,7 @@ static u32 acpi_display_type(struct drm_connector *connector)case DRM_MODE_CONNECTOR_SVIDEO :case DRM_MODE_CONNECTOR_Component:case DRM_MODE_CONNECTOR_9PinDIN: +case DRM_MODE_CONNECTOR_TV : display_type =ACPI_DISPLAY_TYPE_TV ;break ;case DRM_MODE_CONNECTOR_DVII :
@@ -697,8 +698,18 @@ static u32 acpi_display_type(struct drm_connector *connector) display_type =ACPI_DISPLAY_TYPE_EXTERNAL_DIGITAL ;break ;case DRM_MODE_CONNECTOR_LVDS : +case DRM_MODE_CONNECTOR_eDP: +case DRM_MODE_CONNECTOR_DSI : display_type =ACPI_DISPLAY_TYPE_INTERNAL_DIGITAL ;break ; +case DRM_MODE_CONNECTOR_Unknown: +case DRM_MODE_CONNECTOR_VIRTUAL : + display_type =ACPI_DISPLAY_TYPE_OTHER ; +break ; +default : +MISSING_CASE (connector->connector_type); + display_type =ACPI_DISPLAY_TYPE_OTHER ; +break ; }return display_type;
Signature · 6 lines
2.1.4 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH v2 3/5] drm/i915/opregion: handle missing connector types for acpi display types
Quoted 5 lines · Jani Nikula
Most notably eDP, DSI, and TV. Add
MISSING_CASEhandling so we won't miss this in the future.Reviewed-and-tested-by Peter Wu <[email protected]>Signed-off-by Jani Nikula <[email protected]>
Pushed up to and including this patch to drm-intel-next-queued, as they're fairly benign changes. Patches 4 and 5 should probably go in hand-in-hand.
BR,
Jani.
Quoted 44 lines
--- drivers/gpu/drm/i915/intel_opregion.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)drivers/gpu/drm/i915/intel_opregion.c +12
-1@@ -676,7 +676,7 @@ static void set_did(struct intel_opregion *opregion, int i, u32 val)static u32 acpi_display_type (struct drm_connector *connector) { -u32 display_type =ACPI_DISPLAY_TYPE_OTHER ; +u32 display_type;switch (connector->connector_type) {case DRM_MODE_CONNECTOR_VGA :@@ -687,6 +687,7 @@ static u32 acpi_display_type(struct drm_connector *connector)case DRM_MODE_CONNECTOR_SVIDEO :case DRM_MODE_CONNECTOR_Component:case DRM_MODE_CONNECTOR_9PinDIN: +case DRM_MODE_CONNECTOR_TV : display_type =ACPI_DISPLAY_TYPE_TV ;break ;case DRM_MODE_CONNECTOR_DVII :@@ -697,8 +698,18 @@ static u32 acpi_display_type(struct drm_connector *connector) display_type =ACPI_DISPLAY_TYPE_EXTERNAL_DIGITAL ;break ;case DRM_MODE_CONNECTOR_LVDS : +case DRM_MODE_CONNECTOR_eDP: +case DRM_MODE_CONNECTOR_DSI : display_type =ACPI_DISPLAY_TYPE_INTERNAL_DIGITAL ;break ; +case DRM_MODE_CONNECTOR_Unknown: +case DRM_MODE_CONNECTOR_VIRTUAL : + display_type =ACPI_DISPLAY_TYPE_OTHER ; +break ; +default : +MISSING_CASE (connector->connector_type); + display_type =ACPI_DISPLAY_TYPE_OTHER ; +break ; }return display_type;
Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
PATCH v2 4/5 drm/i915: make i915 the source of acpi device ids for _DOD
In reply to Jani NikulaThe graphics driver is supposed to define the DIDL, which are used for _DOD, not the BIOS. Restore that behaviour.
This is basically a revert of
commit 3143751ff51a163b77f7efd389043e038f3e008e
Author: Zhang Rui <[email protected]> Date: Mon Mar 29 15:12:16 2010 +0800
drm/i915: set DIDL using the ACPI video output device _ADR method return.
which went out of its way to cater to a specific BIOS, setting up DIDL based on _ADR method. Perhaps that approach worked on that specific machine, but on the machines I checked the _ADR method invents the device identifiers out of thin air if DIDL has not been set. The source for _ADR is also supposed to be the DIDL set by the driver, not the other way around.
With this, we'll also limit the number of outputs to what the driver actually has.
v2: do not set ACPI_DEVICE_ID_SCHEME in the device id (Peter Wu)
--- drivers/gpu/drm/i915/intel_drv.h | 3 ++ drivers/gpu/drm/i915/intel_opregion.c | 87 ++++++++++------------------------- 2 files changed, 27 insertions(+), 63 deletions(-)
drivers/gpu/drm/i915/intel_drv.h +3 -0
@@ -238,6 +238,9 @@ struct intel_connector {*/ struct intel_encoder *encoder; +/* ACPI device id for ACPI and driver cooperation */ +u32 acpi_device_id; +/* Reads out the current hw, returning true if the connector is enabled * and active (i.e. dpms ON state). */ bool (*get_hw_state)(struct intel_connector *);
drivers/gpu/drm/i915/intel_opregion.c +24 -63
121 lines not on this page · raw message
Signature · 6 lines
2.1.4 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
PATCH v2 5/5 drm/i915/opregion: update cadl based on actually active outputs
In reply to Jani NikulaPreviously we've just shoved the first eight devices in DIDL to CADL (list of active outputs). Some of the active outputs may have been left outside of CADL. The problem is, some BIOS implementations prevent laptop brightness hotkey propagation if the flat panel is not active.
Now that we have connector to acpi device id mapping covered, we can update CADL based on which outputs are actually active.
--- drivers/gpu/drm/i915/i915_drv.h | 2 + drivers/gpu/drm/i915/intel_display.c | 2 + drivers/gpu/drm/i915/intel_opregion.c | 70 ++++++++++++++++++----------------- 3 files changed, 41 insertions(+), 33 deletions(-)
drivers/gpu/drm/i915/i915_drv.h +2 -0
@@ -3646,6 +3646,7 @@ extern int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,extern int intel_opregion_notify_adapter (struct drm_i915_private *dev_priv,pci_power_t state);extern int intel_opregion_get_panel_type (struct drm_i915_private *dev_priv); +extern void intel_opregion_update_cadl (struct drm_i915_private *dev_priv);#else static inline int intel_opregion_setup (struct drm_i915_private *dev) {return 0 ; }static inline void intel_opregion_init (struct drm_i915_private *dev) { }
@@ -3667,6 +3668,7 @@ static inline int intel_opregion_get_panel_type(struct drm_i915_private *dev) {return -ENODEV ; } +static inline void intel_opregion_update_cadl (struct drm_i915_private *dev_priv) {return ; }#endif /* intel_acpi.c */
drivers/gpu/drm/i915/intel_display.c +2 -0
@@ -13833,6 +13833,8 @@ static int intel_atomic_commit(struct drm_device *dev,drm_atomic_state_free (state); +intel_opregion_update_cadl (dev); +/* As one of the primary mmio accessors, KMS has a high likelihood * of triggering bugs in unclaimed access. After we finish * modesetting, see if an error has been flagged, and if so
drivers/gpu/drm/i915/intel_opregion.c +37 -33
96 lines not on this page · raw message
Signature · 6 lines
2.1.4 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
kbuild test robot
build botRe: [PATCH v2 5/5] drm/i915/opregion: update cadl based on actually active outputs
reproduce:
Hi,
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on next-20160609]
[cannot apply to v4.7-rc3]
[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/Jani-Nikula/drm-i915-opregion-proper-handling-of-DIDL-and-CADL/20160613-173347 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: x86_64-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430 reproduce: # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>):
drivers/gpu/drm/i915/intel_display.c: In function 'intel_atomic_commit':
>> drivers/gpu/drm/i915/intel_display.c:13836:29: error: passing argument 1 of 'intel_opregion_update_cadl' from incompatible pointer type [-Werror=incompatible-pointer-types]
intel_opregion_update_cadl(dev);
^~~
In file included from drivers/gpu/drm/i915/intel_drv.h:32:0,
from drivers/gpu/drm/i915/intel_display.c:36:
drivers/gpu/drm/i915/i915_drv.h:3666:13: note: expected 'struct drm_i915_private *' but argument is of type 'struct drm_device *'
extern void intel_opregion_update_cadl(struct drm_i915_private *dev_priv);
^~~~~~~~~~~~~~~~~~~~~~~~~~cc1: some warnings being treated as errors
vim +/intel_opregion_update_cadl +13836 drivers/gpu/drm/i915/intel_display.c
13830 mutex_lock(&dev->struct_mutex);
13831 drm_atomic_helper_cleanup_planes(dev, state);
13832 mutex_unlock(&dev->struct_mutex);
13833
13834 drm_atomic_state_free(state);
13835
13836 intel_opregion_update_cadl(dev);
13837
13838 /* As one of the primary mmio accessors, KMS has a high likelihood
13839 * of triggering bugs in unclaimed access. After we finish
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
PATCH v3 1/1 drm/i915/opregion: update cadl based on actually active outputs
In reply to Jani NikulaPreviously we've just shoved the first eight devices in DIDL to CADL (list of active outputs). Some of the active outputs may have been left outside of CADL. The problem is, some BIOS implementations prevent laptop brightness hotkey propagation if the flat panel is not active.
Now that we have connector to acpi device id mapping covered, we can update CADL based on which outputs are actually active.
v3: actually git add the dev->dev_priv change.
--- drivers/gpu/drm/i915/i915_drv.h | 2 + drivers/gpu/drm/i915/intel_display.c | 2 + drivers/gpu/drm/i915/intel_opregion.c | 70 ++++++++++++++++++----------------- 3 files changed, 41 insertions(+), 33 deletions(-)
drivers/gpu/drm/i915/i915_drv.h +2 -0
@@ -3646,6 +3646,7 @@ extern int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,extern int intel_opregion_notify_adapter (struct drm_i915_private *dev_priv,pci_power_t state);extern int intel_opregion_get_panel_type (struct drm_i915_private *dev_priv); +extern void intel_opregion_update_cadl (struct drm_i915_private *dev_priv);#else static inline int intel_opregion_setup (struct drm_i915_private *dev) {return 0 ; }static inline void intel_opregion_init (struct drm_i915_private *dev) { }
@@ -3667,6 +3668,7 @@ static inline int intel_opregion_get_panel_type(struct drm_i915_private *dev) {return -ENODEV ; } +static inline void intel_opregion_update_cadl (struct drm_i915_private *dev_priv) {return ; }#endif /* intel_acpi.c */
drivers/gpu/drm/i915/intel_display.c +2 -0
@@ -13833,6 +13833,8 @@ static int intel_atomic_commit(struct drm_device *dev,drm_atomic_state_free (state); +intel_opregion_update_cadl (dev_priv); +/* As one of the primary mmio accessors, KMS has a high likelihood * of triggering bugs in unclaimed access. After we finish * modesetting, see if an error has been flagged, and if so
drivers/gpu/drm/i915/intel_opregion.c +37 -33
96 lines not on this page · raw message
Signature · 6 lines
2.1.4 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH v3] drm/i915/opregion: update cadl based on actually active outputs
Op 13-06-16 om 12:00 schreef Jani Nikula:
Quoted 10 lines
Previously we've just shoved the first eight devices in DIDL to CADL (list of active outputs). Some of the active outputs may have been left outside of CADL. The problem is, some BIOS implementations prevent laptop brightness hotkey propagation if the flat panel is not active.
Now that we have connector to acpi device id mapping covered, we can update CADL based on which outputs are actually active.
v3: actually git add the
dev->dev_privchange.
Can CADL be set before the crtc's are updated?
It seems to me it should be set after intel_shared_dpll_commit,
since that's when we update all sw state. And put behind a if (intel_state->modeset), it's not allowed to walk the connector list otherwise. We get away with it now because we always take mode_config.mutex.
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
kbuild test robot
build botRe: [PATCH v2 5/5] drm/i915/opregion: update cadl based on actually active outputs
In reply to Jani Nikulareproduce:
Hi,
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on next-20160609]
[cannot apply to v4.7-rc3]
[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/Jani-Nikula/drm-i915-opregion-proper-handling-of-DIDL-and-CADL/20160613-173347 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: x86_64-rhel (attached as .config) compiler: gcc-4.9 (Debian 4.9.3-14) 4.9.3 reproduce: # save the attached .config to linux build tree make ARCH=x86_64
All warnings (new ones prefixed by >>):
drivers/gpu/drm/i915/intel_display.c: In function 'intel_atomic_commit':
>> drivers/gpu/drm/i915/intel_display.c:13836:29: warning: passing argument 1 of 'intel_opregion_update_cadl' from incompatible pointer type
intel_opregion_update_cadl(dev);
^
In file included from drivers/gpu/drm/i915/intel_drv.h:32:0,
from drivers/gpu/drm/i915/intel_display.c:36:
drivers/gpu/drm/i915/i915_drv.h:3666:13: note: expected 'struct drm_i915_private *' but argument is of type 'struct drm_device *'
extern void intel_opregion_update_cadl(struct drm_i915_private *dev_priv);
^vim +/intel_opregion_update_cadl +13836 drivers/gpu/drm/i915/intel_display.c
13820
13821 if (put_domains[i])
13822 modeset_put_power_domains(dev_priv, put_domains[i]);
13823
13824 intel_modeset_verify_crtc(crtc, old_crtc_state, crtc->state);
13825 }
13826
13827 if (intel_state->modeset)
13828 intel_display_power_put(dev_priv, POWER_DOMAIN_MODESET);
13829
13830 mutex_lock(&dev->struct_mutex);
13831 drm_atomic_helper_cleanup_planes(dev, state);
13832 mutex_unlock(&dev->struct_mutex);
13833
13834 drm_atomic_state_free(state);
13835
13836 intel_opregion_update_cadl(dev);
13837
13838 /* As one of the primary mmio accessors, KMS has a high likelihood
13839 * of triggering bugs in unclaimed access. After we finish
13840 * modesetting, see if an error has been flagged, and if so
13841 * enable debugging for the next modeset - and hope we catch
13842 * the culprit.
13843 *
13844 * XXX note that we assume display power is on at this point.
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✗ Ro.CI.BAT: failure for drm/i915/opregion: proper handling of DIDL and CADL (rev2)
In reply to Jani Nikula== Series Details ==
== Series Details ==
Series: drm/i915/opregion: proper handling of DIDL and CADL (rev2)
URL : https://patchwork.freedesktop.org/series/4783/
State : failure
== Summary ==
CC [M] drivers/gpu/drm/i915/intel_panel.o
LD drivers/usb/storage/usb-storage.o
LD drivers/usb/storage/built-in.o
LD drivers/tty/serial/8250/built-in.o
LD drivers/tty/vt/built-in.o
CC [M] drivers/gpu/drm/i915/i915_vgpu.o
LD drivers/tty/serial/built-in.o
CC [M] drivers/gpu/drm/i915/i915_dma.o
LD drivers/usb/built-in.o
LD drivers/tty/built-in.o
drivers/gpu/drm/i915/intel_display.c: In function ‘intel_atomic_commit’:
drivers/gpu/drm/i915/intel_display.c:13836:29: error: passing argument 1 of ‘intel_opregion_update_cadl’ from incompatible pointer type [-Werror=incompatible-pointer-types]
intel_opregion_update_cadl(dev);
^
In file included from drivers/gpu/drm/i915/intel_drv.h:32:0,
from drivers/gpu/drm/i915/intel_display.c:36:
drivers/gpu/drm/i915/i915_drv.h:3666:13: note: expected ‘struct drm_i915_private *’ but argument is of type ‘struct drm_device *’
extern void intel_opregion_update_cadl(struct drm_i915_private *dev_priv);
^cc1: some warnings being treated as errorsscripts/Makefile.build:289: recipe for target 'drivers/gpu/drm/i915/intel_display.o' failed make[4]: *** [drivers/gpu/drm/i915/intel_display.o] Error 1 scripts/Makefile.build:440: recipe for target 'drivers/gpu/drm/i915' failed make[3]: *** [drivers/gpu/drm/i915] Error 2scripts/Makefile.build:440: recipe for target 'drivers/gpu/drm' failed make[2]: *** [drivers/gpu/drm] Error 2scripts/Makefile.build:440: recipe for target 'drivers/gpu' failed
make[1]: *** [drivers/gpu] Error 2
Makefile:985: recipe for target 'drivers' failed
make: *** [drivers] Error 2
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✗ Ro.CI.BAT: failure for drm/i915/opregion: proper handling of DIDL and CADL (rev3)
In reply to Jani Nikula== Series Details ==
== Series Details ==
Series: drm/i915/opregion: proper handling of DIDL and CADL (rev3)
URL : https://patchwork.freedesktop.org/series/4783/
State : failure
== Summary ==
Series 4783v3 drm/i915/opregion: proper handling of DIDL and CADL
http://patchwork.freedesktop.org/api/1.0/series/4783/revisions/3/mbox
Test gem_exec_suspend:
Subgroup basic-s3:
pass -> DMESG-WARN (ro-bdw-i7-5557U)
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-a:
dmesg-warn -> SKIP (ro-bdw-i5-5250u)
Subgroup suspend-read-crc-pipe-c:
skip -> DMESG-WARN (ro-bdw-i5-5250u)
Test pm_rpm:
Subgroup basic-rte:
pass -> FAIL (ro-skl3-i5-6260u)fi-skl-i7-6700k total:213 pass:188 dwarn:0 dfail:0 fail:0 skip:25 ro-bdw-i5-5250u total:213 pass:197 dwarn:3 dfail:0 fail:0 skip:13 ro-bdw-i7-5557U total:213 pass:197 dwarn:1 dfail:0 fail:0 skip:15 ro-bdw-i7-5600u total:213 pass:185 dwarn:0 dfail:0 fail:0 skip:28 ro-bsw-n3050 total:213 pass:172 dwarn:0 dfail:0 fail:2 skip:39 ro-byt-n2820 total:213 pass:173 dwarn:0 dfail:0 fail:3 skip:37 ro-hsw-i3-4010u total:213 pass:190 dwarn:0 dfail:0 fail:0 skip:23 ro-hsw-i7-4770r total:213 pass:190 dwarn:0 dfail:0 fail:0 skip:23 ro-ilk-i7-620lm total:213 pass:150 dwarn:0 dfail:0 fail:1 skip:62 ro-ilk1-i5-650 total:208 pass:150 dwarn:0 dfail:0 fail:1 skip:57 ro-skl3-i5-6260u total:213 pass:200 dwarn:1 dfail:0 fail:1 skip:11 ro-snb-i7-2620M total:213 pass:174 dwarn:0 dfail:0 fail:1 skip:38
fi-bdw-i7-5557u failed to connect after reboot
fi-hsw-i7-4770k failed to connect after reboot
fi-skl-i5-6260u failed to connect after reboot
fi-snb-i7-2600 failed to connect after reboot
ro-ivb2-i7-3770 failed to connect after reboot
ro-ivb-i7-3770 failed to connect after reboot
Results at /archive/results/CI_IGT_test/RO_Patchwork_1169/
5aacd93 drm-intel-nightly: 2016y-06m-13d-09h-05m-21s UTC integration manifest 228155a drm/i915/opregion: update cadl based on actually active outputs 2e7b211 drm/i915: make i915 the source of acpi device ids for _DOD 4a92722 drm/i915/opregion: handle missing connector types for acpi display types 70f121b drm/i915/opregion: abstract acpi display type getter for a connector 8a829b0 drm/i915/opregion: add acpi defines from the spec
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx