* [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband
@ 2021-10-13 10:11 Jani Nikula
2021-10-13 10:11 ` [Intel-gfx] [PATCH 1/1] drm/i915: split out vlv sideband to a separate file Jani Nikula
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Jani Nikula @ 2021-10-13 10:11 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula, Lucas De Marchi, Ville Syrjälä
Three main ideas here:
- vlv sideband only has the name "sideband" in common with the rest of
intel_sideband.[ch]
- we may need better abstractions on the <asm/iosf_mbi.h> dependency,
this should help a little bit; maybe vlv_sideband.[ch] can be turned
into that abstraction layer
- we probably want to split out sideband registers from i915_reg.h, and
they could go to vlv_sideband.h or vlv_sideband_reg.h or something
BR,
Jani.
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Jani Nikula (1):
drm/i915: split out vlv sideband to a separate file
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/g4x_dp.c | 2 +-
drivers/gpu/drm/i915/display/g4x_hdmi.c | 2 +-
drivers/gpu/drm/i915/display/intel_cdclk.c | 1 +
drivers/gpu/drm/i915/display/intel_display.c | 1 +
.../drm/i915/display/intel_display_debugfs.c | 1 -
.../drm/i915/display/intel_display_power.c | 4 +-
drivers/gpu/drm/i915/display/intel_dp.c | 1 -
drivers/gpu/drm/i915/display/intel_dpio_phy.c | 5 +-
drivers/gpu/drm/i915/display/intel_dpll.c | 2 +-
drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 2 +-
drivers/gpu/drm/i915/display/vlv_dsi.c | 2 +-
drivers/gpu/drm/i915/display/vlv_dsi_pll.c | 2 +-
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 1 +
drivers/gpu/drm/i915/gt/intel_rps.c | 1 +
drivers/gpu/drm/i915/i915_debugfs.c | 1 -
drivers/gpu/drm/i915/i915_sysfs.c | 1 -
drivers/gpu/drm/i915/intel_pm.c | 1 +
drivers/gpu/drm/i915/intel_sideband.c | 257 -----------------
drivers/gpu/drm/i915/intel_sideband.h | 110 --------
drivers/gpu/drm/i915/vlv_sideband.c | 266 ++++++++++++++++++
drivers/gpu/drm/i915/vlv_sideband.h | 123 ++++++++
22 files changed, 405 insertions(+), 382 deletions(-)
create mode 100644 drivers/gpu/drm/i915/vlv_sideband.c
create mode 100644 drivers/gpu/drm/i915/vlv_sideband.h
--
2.30.2
^ permalink raw reply [flat|nested] 11+ messages in thread* [Intel-gfx] [PATCH 1/1] drm/i915: split out vlv sideband to a separate file 2021-10-13 10:11 [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband Jani Nikula @ 2021-10-13 10:11 ` Jani Nikula 2021-10-13 11:55 ` Hans de Goede 2021-10-13 15:51 ` Lucas De Marchi 2021-10-13 10:28 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: vlv sideband Patchwork ` (3 subsequent siblings) 4 siblings, 2 replies; 11+ messages in thread From: Jani Nikula @ 2021-10-13 10:11 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula, Lucas De Marchi, Ville Syrjälä The VLV/CHV sideband code is pretty distinct from the rest of the sideband code. Split it out to new vlv_sideband.[ch]. Pure code movement with relevant #include changes, and a tiny checkpatch fix on top. Cc: Lucas De Marchi <lucas.demarchi@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/display/g4x_dp.c | 2 +- drivers/gpu/drm/i915/display/g4x_hdmi.c | 2 +- drivers/gpu/drm/i915/display/intel_cdclk.c | 1 + drivers/gpu/drm/i915/display/intel_display.c | 1 + .../drm/i915/display/intel_display_debugfs.c | 1 - .../drm/i915/display/intel_display_power.c | 4 +- drivers/gpu/drm/i915/display/intel_dp.c | 1 - drivers/gpu/drm/i915/display/intel_dpio_phy.c | 5 +- drivers/gpu/drm/i915/display/intel_dpll.c | 2 +- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 2 +- drivers/gpu/drm/i915/display/vlv_dsi.c | 2 +- drivers/gpu/drm/i915/display/vlv_dsi_pll.c | 2 +- drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 1 + drivers/gpu/drm/i915/gt/intel_rps.c | 1 + drivers/gpu/drm/i915/i915_debugfs.c | 1 - drivers/gpu/drm/i915/i915_sysfs.c | 1 - drivers/gpu/drm/i915/intel_pm.c | 1 + drivers/gpu/drm/i915/intel_sideband.c | 257 ----------------- drivers/gpu/drm/i915/intel_sideband.h | 110 -------- drivers/gpu/drm/i915/vlv_sideband.c | 266 ++++++++++++++++++ drivers/gpu/drm/i915/vlv_sideband.h | 123 ++++++++ 22 files changed, 405 insertions(+), 382 deletions(-) create mode 100644 drivers/gpu/drm/i915/vlv_sideband.c create mode 100644 drivers/gpu/drm/i915/vlv_sideband.h diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 21b05ed0e4e8..d50d2b144fc6 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -54,6 +54,7 @@ i915-y += i915_drv.o \ intel_step.o \ intel_uncore.o \ intel_wakeref.o \ + vlv_sideband.o \ vlv_suspend.o # core library code diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c b/drivers/gpu/drm/i915/display/g4x_dp.c index 85a09c3e09e8..dc41868d01ef 100644 --- a/drivers/gpu/drm/i915/display/g4x_dp.c +++ b/drivers/gpu/drm/i915/display/g4x_dp.c @@ -18,7 +18,7 @@ #include "intel_hdmi.h" #include "intel_hotplug.h" #include "intel_pps.h" -#include "intel_sideband.h" +#include "vlv_sideband.h" struct dp_link_dpll { int clock; diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.c b/drivers/gpu/drm/i915/display/g4x_hdmi.c index be352e9f0afc..88c427f3c346 100644 --- a/drivers/gpu/drm/i915/display/g4x_hdmi.c +++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c @@ -14,8 +14,8 @@ #include "intel_fifo_underrun.h" #include "intel_hdmi.h" #include "intel_hotplug.h" -#include "intel_sideband.h" #include "intel_sdvo.h" +#include "vlv_sideband.h" static void intel_hdmi_prepare(struct intel_encoder *encoder, const struct intel_crtc_state *crtc_state) diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c index ecb28e8f1eb6..44bb18773509 100644 --- a/drivers/gpu/drm/i915/display/intel_cdclk.c +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c @@ -30,6 +30,7 @@ #include "intel_display_types.h" #include "intel_psr.h" #include "intel_sideband.h" +#include "vlv_sideband.h" /** * DOC: CDCLK / RAWCLK diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 9cf987ee143d..3602fdb2a549 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -109,6 +109,7 @@ #include "i9xx_plane.h" #include "skl_scaler.h" #include "skl_universal_plane.h" +#include "vlv_sideband.h" static void i9xx_crtc_clock_get(struct intel_crtc *crtc, struct intel_crtc_state *pipe_config); diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index bc5113589f0a..e04767695530 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -20,7 +20,6 @@ #include "intel_hdmi.h" #include "intel_pm.h" #include "intel_psr.h" -#include "intel_sideband.h" #include "intel_sprite.h" static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c index 06e9879aedd7..709569211c85 100644 --- a/drivers/gpu/drm/i915/display/intel_display_power.c +++ b/drivers/gpu/drm/i915/display/intel_display_power.c @@ -3,12 +3,11 @@ * Copyright © 2019 Intel Corporation */ -#include "display/intel_crt.h" - #include "i915_drv.h" #include "i915_irq.h" #include "intel_cdclk.h" #include "intel_combo_phy.h" +#include "intel_crt.h" #include "intel_de.h" #include "intel_display_power.h" #include "intel_display_types.h" @@ -22,6 +21,7 @@ #include "intel_snps_phy.h" #include "intel_tc.h" #include "intel_vga.h" +#include "vlv_sideband.h" bool intel_display_power_well_is_enabled(struct drm_i915_private *dev_priv, enum i915_power_well_id power_well_id); diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 10fda20a5bd8..9d8132dd4cc5 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -66,7 +66,6 @@ #include "intel_panel.h" #include "intel_pps.h" #include "intel_psr.h" -#include "intel_sideband.h" #include "intel_tc.h" #include "intel_vdsc.h" #include "intel_vrr.h" diff --git a/drivers/gpu/drm/i915/display/intel_dpio_phy.c b/drivers/gpu/drm/i915/display/intel_dpio_phy.c index 5a2eccb12fe4..44edeb2e55c0 100644 --- a/drivers/gpu/drm/i915/display/intel_dpio_phy.c +++ b/drivers/gpu/drm/i915/display/intel_dpio_phy.c @@ -21,14 +21,13 @@ * DEALINGS IN THE SOFTWARE. */ -#include "display/intel_dp.h" - #include "intel_ddi.h" #include "intel_ddi_buf_trans.h" #include "intel_de.h" #include "intel_display_types.h" +#include "intel_dp.h" #include "intel_dpio_phy.h" -#include "intel_sideband.h" +#include "vlv_sideband.h" /** * DOC: DPIO diff --git a/drivers/gpu/drm/i915/display/intel_dpll.c b/drivers/gpu/drm/i915/display/intel_dpll.c index b84ed4a1bd95..04a7af8340ca 100644 --- a/drivers/gpu/drm/i915/display/intel_dpll.c +++ b/drivers/gpu/drm/i915/display/intel_dpll.c @@ -13,8 +13,8 @@ #include "intel_lvds.h" #include "intel_panel.h" #include "intel_pps.h" -#include "intel_sideband.h" #include "intel_snps_phy.h" +#include "vlv_sideband.h" struct intel_limit { struct { diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c index 61c2ef6a4b8c..f241bedb8597 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -41,7 +41,7 @@ #include "i915_drv.h" #include "intel_display_types.h" #include "intel_dsi.h" -#include "intel_sideband.h" +#include "vlv_sideband.h" #define MIPI_TRANSFER_MODE_SHIFT 0 #define MIPI_VIRTUAL_CHANNEL_SHIFT 1 diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c index 081b772bfe10..07584695514b 100644 --- a/drivers/gpu/drm/i915/display/vlv_dsi.c +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c @@ -40,8 +40,8 @@ #include "intel_dsi.h" #include "intel_fifo_underrun.h" #include "intel_panel.h" -#include "intel_sideband.h" #include "skl_scaler.h" +#include "vlv_sideband.h" /* return pixels in terms of txbyteclkhs */ static u16 txbyteclkhs(u16 pixels, int bpp, int lane_count, diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c index 0078973cd219..5413b52ab6ba 100644 --- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c +++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c @@ -31,7 +31,7 @@ #include "intel_de.h" #include "intel_display_types.h" #include "intel_dsi.h" -#include "intel_sideband.h" +#include "vlv_sideband.h" static const u16 lfsr_converts[] = { 426, 469, 234, 373, 442, 221, 110, 311, 411, /* 62 - 70 */ diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c b/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c index 5f84ad602642..1e00fa6fbf27 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c @@ -18,6 +18,7 @@ #include "intel_runtime_pm.h" #include "intel_sideband.h" #include "intel_uncore.h" +#include "vlv_sideband.h" static int fw_domains_show(struct seq_file *m, void *data) { diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c index 172de6c9f949..c47024dbe246 100644 --- a/drivers/gpu/drm/i915/gt/intel_rps.c +++ b/drivers/gpu/drm/i915/gt/intel_rps.c @@ -13,6 +13,7 @@ #include "intel_gt_pm_irq.h" #include "intel_rps.h" #include "intel_sideband.h" +#include "vlv_sideband.h" #include "../../../platform/x86/intel_ips.h" #define BUSY_MAX_EI 20u /* ms */ diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index fdbd46ff59e0..54ae75db121f 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -49,7 +49,6 @@ #include "i915_scheduler.h" #include "i915_trace.h" #include "intel_pm.h" -#include "intel_sideband.h" static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) { diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c index cdf0e9c6fd73..1804f4142740 100644 --- a/drivers/gpu/drm/i915/i915_sysfs.c +++ b/drivers/gpu/drm/i915/i915_sysfs.c @@ -37,7 +37,6 @@ #include "i915_drv.h" #include "i915_sysfs.h" #include "intel_pm.h" -#include "intel_sideband.h" static inline struct drm_i915_private *kdev_minor_to_i915(struct device *kdev) { diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 8dbf8ec0d890..e4e0d7f9cb60 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -49,6 +49,7 @@ #include "i915_trace.h" #include "intel_pm.h" #include "intel_sideband.h" +#include "vlv_sideband.h" #include "../../../platform/x86/intel_ips.h" /* Stores plane specific WM parameters */ diff --git a/drivers/gpu/drm/i915/intel_sideband.c b/drivers/gpu/drm/i915/intel_sideband.c index e304bf44e1ff..59ef67216c15 100644 --- a/drivers/gpu/drm/i915/intel_sideband.c +++ b/drivers/gpu/drm/i915/intel_sideband.c @@ -27,263 +27,6 @@ #include "i915_drv.h" #include "intel_sideband.h" -/* - * IOSF sideband, see VLV2_SidebandMsg_HAS.docx and - * VLV_VLV2_PUNIT_HAS_0.8.docx - */ - -/* Standard MMIO read, non-posted */ -#define SB_MRD_NP 0x00 -/* Standard MMIO write, non-posted */ -#define SB_MWR_NP 0x01 -/* Private register read, double-word addressing, non-posted */ -#define SB_CRRDDA_NP 0x06 -/* Private register write, double-word addressing, non-posted */ -#define SB_CRWRDA_NP 0x07 - -static void ping(void *info) -{ -} - -static void __vlv_punit_get(struct drm_i915_private *i915) -{ - iosf_mbi_punit_acquire(); - - /* - * Prevent the cpu from sleeping while we use this sideband, otherwise - * the punit may cause a machine hang. The issue appears to be isolated - * with changing the power state of the CPU package while changing - * the power state via the punit, and we have only observed it - * reliably on 4-core Baytail systems suggesting the issue is in the - * power delivery mechanism and likely to be be board/function - * specific. Hence we presume the workaround needs only be applied - * to the Valleyview P-unit and not all sideband communications. - */ - if (IS_VALLEYVIEW(i915)) { - cpu_latency_qos_update_request(&i915->sb_qos, 0); - on_each_cpu(ping, NULL, 1); - } -} - -static void __vlv_punit_put(struct drm_i915_private *i915) -{ - if (IS_VALLEYVIEW(i915)) - cpu_latency_qos_update_request(&i915->sb_qos, - PM_QOS_DEFAULT_VALUE); - - iosf_mbi_punit_release(); -} - -void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports) -{ - if (ports & BIT(VLV_IOSF_SB_PUNIT)) - __vlv_punit_get(i915); - - mutex_lock(&i915->sb_lock); -} - -void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports) -{ - mutex_unlock(&i915->sb_lock); - - if (ports & BIT(VLV_IOSF_SB_PUNIT)) - __vlv_punit_put(i915); -} - -static int vlv_sideband_rw(struct drm_i915_private *i915, - u32 devfn, u32 port, u32 opcode, - u32 addr, u32 *val) -{ - struct intel_uncore *uncore = &i915->uncore; - const bool is_read = (opcode == SB_MRD_NP || opcode == SB_CRRDDA_NP); - int err; - - lockdep_assert_held(&i915->sb_lock); - if (port == IOSF_PORT_PUNIT) - iosf_mbi_assert_punit_acquired(); - - /* Flush the previous comms, just in case it failed last time. */ - if (intel_wait_for_register(uncore, - VLV_IOSF_DOORBELL_REQ, IOSF_SB_BUSY, 0, - 5)) { - drm_dbg(&i915->drm, "IOSF sideband idle wait (%s) timed out\n", - is_read ? "read" : "write"); - return -EAGAIN; - } - - preempt_disable(); - - intel_uncore_write_fw(uncore, VLV_IOSF_ADDR, addr); - intel_uncore_write_fw(uncore, VLV_IOSF_DATA, is_read ? 0 : *val); - intel_uncore_write_fw(uncore, VLV_IOSF_DOORBELL_REQ, - (devfn << IOSF_DEVFN_SHIFT) | - (opcode << IOSF_OPCODE_SHIFT) | - (port << IOSF_PORT_SHIFT) | - (0xf << IOSF_BYTE_ENABLES_SHIFT) | - (0 << IOSF_BAR_SHIFT) | - IOSF_SB_BUSY); - - if (__intel_wait_for_register_fw(uncore, - VLV_IOSF_DOORBELL_REQ, IOSF_SB_BUSY, 0, - 10000, 0, NULL) == 0) { - if (is_read) - *val = intel_uncore_read_fw(uncore, VLV_IOSF_DATA); - err = 0; - } else { - drm_dbg(&i915->drm, "IOSF sideband finish wait (%s) timed out\n", - is_read ? "read" : "write"); - err = -ETIMEDOUT; - } - - preempt_enable(); - - return err; -} - -u32 vlv_punit_read(struct drm_i915_private *i915, u32 addr) -{ - u32 val = 0; - - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_PUNIT, - SB_CRRDDA_NP, addr, &val); - - return val; -} - -int vlv_punit_write(struct drm_i915_private *i915, u32 addr, u32 val) -{ - return vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_PUNIT, - SB_CRWRDA_NP, addr, &val); -} - -u32 vlv_bunit_read(struct drm_i915_private *i915, u32 reg) -{ - u32 val = 0; - - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_BUNIT, - SB_CRRDDA_NP, reg, &val); - - return val; -} - -void vlv_bunit_write(struct drm_i915_private *i915, u32 reg, u32 val) -{ - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_BUNIT, - SB_CRWRDA_NP, reg, &val); -} - -u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr) -{ - u32 val = 0; - - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_NC, - SB_CRRDDA_NP, addr, &val); - - return val; -} - -u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg) -{ - u32 val = 0; - - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), port, - SB_CRRDDA_NP, reg, &val); - - return val; -} - -void vlv_iosf_sb_write(struct drm_i915_private *i915, - u8 port, u32 reg, u32 val) -{ - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), port, - SB_CRWRDA_NP, reg, &val); -} - -u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg) -{ - u32 val = 0; - - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCK, - SB_CRRDDA_NP, reg, &val); - - return val; -} - -void vlv_cck_write(struct drm_i915_private *i915, u32 reg, u32 val) -{ - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCK, - SB_CRWRDA_NP, reg, &val); -} - -u32 vlv_ccu_read(struct drm_i915_private *i915, u32 reg) -{ - u32 val = 0; - - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCU, - SB_CRRDDA_NP, reg, &val); - - return val; -} - -void vlv_ccu_write(struct drm_i915_private *i915, u32 reg, u32 val) -{ - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCU, - SB_CRWRDA_NP, reg, &val); -} - -static u32 vlv_dpio_phy_iosf_port(struct drm_i915_private *i915, enum dpio_phy phy) -{ - /* - * IOSF_PORT_DPIO: VLV x2 PHY (DP/HDMI B and C), CHV x1 PHY (DP/HDMI D) - * IOSF_PORT_DPIO_2: CHV x2 PHY (DP/HDMI B and C) - */ - if (IS_CHERRYVIEW(i915)) - return phy == DPIO_PHY0 ? IOSF_PORT_DPIO_2 : IOSF_PORT_DPIO; - else - return IOSF_PORT_DPIO; -} - -u32 vlv_dpio_read(struct drm_i915_private *i915, enum pipe pipe, int reg) -{ - u32 port = vlv_dpio_phy_iosf_port(i915, DPIO_PHY(pipe)); - u32 val = 0; - - vlv_sideband_rw(i915, DPIO_DEVFN, port, SB_MRD_NP, reg, &val); - - /* - * FIXME: There might be some registers where all 1's is a valid value, - * so ideally we should check the register offset instead... - */ - drm_WARN(&i915->drm, val == 0xffffffff, - "DPIO read pipe %c reg 0x%x == 0x%x\n", - pipe_name(pipe), reg, val); - - return val; -} - -void vlv_dpio_write(struct drm_i915_private *i915, - enum pipe pipe, int reg, u32 val) -{ - u32 port = vlv_dpio_phy_iosf_port(i915, DPIO_PHY(pipe)); - - vlv_sideband_rw(i915, DPIO_DEVFN, port, SB_MWR_NP, reg, &val); -} - -u32 vlv_flisdsi_read(struct drm_i915_private *i915, u32 reg) -{ - u32 val = 0; - - vlv_sideband_rw(i915, DPIO_DEVFN, IOSF_PORT_FLISDSI, SB_CRRDDA_NP, - reg, &val); - return val; -} - -void vlv_flisdsi_write(struct drm_i915_private *i915, u32 reg, u32 val) -{ - vlv_sideband_rw(i915, DPIO_DEVFN, IOSF_PORT_FLISDSI, SB_CRWRDA_NP, - reg, &val); -} - /* SBI access */ static int intel_sbi_rw(struct drm_i915_private *i915, u16 reg, enum intel_sbi_destination destination, diff --git a/drivers/gpu/drm/i915/intel_sideband.h b/drivers/gpu/drm/i915/intel_sideband.h index d1d14bcb8f56..914ffd98b38f 100644 --- a/drivers/gpu/drm/i915/intel_sideband.h +++ b/drivers/gpu/drm/i915/intel_sideband.h @@ -3,125 +3,15 @@ #ifndef _INTEL_SIDEBAND_H_ #define _INTEL_SIDEBAND_H_ -#include <linux/bitops.h> #include <linux/types.h> struct drm_i915_private; -enum pipe; enum intel_sbi_destination { SBI_ICLK, SBI_MPHY, }; -enum { - VLV_IOSF_SB_BUNIT, - VLV_IOSF_SB_CCK, - VLV_IOSF_SB_CCU, - VLV_IOSF_SB_DPIO, - VLV_IOSF_SB_FLISDSI, - VLV_IOSF_SB_GPIO, - VLV_IOSF_SB_NC, - VLV_IOSF_SB_PUNIT, -}; - -void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports); -u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg); -void vlv_iosf_sb_write(struct drm_i915_private *i915, - u8 port, u32 reg, u32 val); -void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports); - -static inline void vlv_bunit_get(struct drm_i915_private *i915) -{ - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_BUNIT)); -} - -u32 vlv_bunit_read(struct drm_i915_private *i915, u32 reg); -void vlv_bunit_write(struct drm_i915_private *i915, u32 reg, u32 val); - -static inline void vlv_bunit_put(struct drm_i915_private *i915) -{ - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_BUNIT)); -} - -static inline void vlv_cck_get(struct drm_i915_private *i915) -{ - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCK)); -} - -u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg); -void vlv_cck_write(struct drm_i915_private *i915, u32 reg, u32 val); - -static inline void vlv_cck_put(struct drm_i915_private *i915) -{ - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCK)); -} - -static inline void vlv_ccu_get(struct drm_i915_private *i915) -{ - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCU)); -} - -u32 vlv_ccu_read(struct drm_i915_private *i915, u32 reg); -void vlv_ccu_write(struct drm_i915_private *i915, u32 reg, u32 val); - -static inline void vlv_ccu_put(struct drm_i915_private *i915) -{ - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCU)); -} - -static inline void vlv_dpio_get(struct drm_i915_private *i915) -{ - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_DPIO)); -} - -u32 vlv_dpio_read(struct drm_i915_private *i915, enum pipe pipe, int reg); -void vlv_dpio_write(struct drm_i915_private *i915, - enum pipe pipe, int reg, u32 val); - -static inline void vlv_dpio_put(struct drm_i915_private *i915) -{ - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_DPIO)); -} - -static inline void vlv_flisdsi_get(struct drm_i915_private *i915) -{ - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_FLISDSI)); -} - -u32 vlv_flisdsi_read(struct drm_i915_private *i915, u32 reg); -void vlv_flisdsi_write(struct drm_i915_private *i915, u32 reg, u32 val); - -static inline void vlv_flisdsi_put(struct drm_i915_private *i915) -{ - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_FLISDSI)); -} - -static inline void vlv_nc_get(struct drm_i915_private *i915) -{ - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_NC)); -} - -u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr); - -static inline void vlv_nc_put(struct drm_i915_private *i915) -{ - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_NC)); -} - -static inline void vlv_punit_get(struct drm_i915_private *i915) -{ - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_PUNIT)); -} - -u32 vlv_punit_read(struct drm_i915_private *i915, u32 addr); -int vlv_punit_write(struct drm_i915_private *i915, u32 addr, u32 val); - -static inline void vlv_punit_put(struct drm_i915_private *i915) -{ - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_PUNIT)); -} - u32 intel_sbi_read(struct drm_i915_private *i915, u16 reg, enum intel_sbi_destination destination); void intel_sbi_write(struct drm_i915_private *i915, u16 reg, u32 value, diff --git a/drivers/gpu/drm/i915/vlv_sideband.c b/drivers/gpu/drm/i915/vlv_sideband.c new file mode 100644 index 000000000000..35380738a951 --- /dev/null +++ b/drivers/gpu/drm/i915/vlv_sideband.c @@ -0,0 +1,266 @@ +// SPDX-License-Identifier: MIT +/* + * Copyright © 2013-2021 Intel Corporation + */ + +#include <asm/iosf_mbi.h> + +#include "i915_drv.h" +#include "vlv_sideband.h" + +/* + * IOSF sideband, see VLV2_SidebandMsg_HAS.docx and + * VLV_VLV2_PUNIT_HAS_0.8.docx + */ + +/* Standard MMIO read, non-posted */ +#define SB_MRD_NP 0x00 +/* Standard MMIO write, non-posted */ +#define SB_MWR_NP 0x01 +/* Private register read, double-word addressing, non-posted */ +#define SB_CRRDDA_NP 0x06 +/* Private register write, double-word addressing, non-posted */ +#define SB_CRWRDA_NP 0x07 + +static void ping(void *info) +{ +} + +static void __vlv_punit_get(struct drm_i915_private *i915) +{ + iosf_mbi_punit_acquire(); + + /* + * Prevent the cpu from sleeping while we use this sideband, otherwise + * the punit may cause a machine hang. The issue appears to be isolated + * with changing the power state of the CPU package while changing + * the power state via the punit, and we have only observed it + * reliably on 4-core Baytail systems suggesting the issue is in the + * power delivery mechanism and likely to be board/function + * specific. Hence we presume the workaround needs only be applied + * to the Valleyview P-unit and not all sideband communications. + */ + if (IS_VALLEYVIEW(i915)) { + cpu_latency_qos_update_request(&i915->sb_qos, 0); + on_each_cpu(ping, NULL, 1); + } +} + +static void __vlv_punit_put(struct drm_i915_private *i915) +{ + if (IS_VALLEYVIEW(i915)) + cpu_latency_qos_update_request(&i915->sb_qos, + PM_QOS_DEFAULT_VALUE); + + iosf_mbi_punit_release(); +} + +void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports) +{ + if (ports & BIT(VLV_IOSF_SB_PUNIT)) + __vlv_punit_get(i915); + + mutex_lock(&i915->sb_lock); +} + +void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports) +{ + mutex_unlock(&i915->sb_lock); + + if (ports & BIT(VLV_IOSF_SB_PUNIT)) + __vlv_punit_put(i915); +} + +static int vlv_sideband_rw(struct drm_i915_private *i915, + u32 devfn, u32 port, u32 opcode, + u32 addr, u32 *val) +{ + struct intel_uncore *uncore = &i915->uncore; + const bool is_read = (opcode == SB_MRD_NP || opcode == SB_CRRDDA_NP); + int err; + + lockdep_assert_held(&i915->sb_lock); + if (port == IOSF_PORT_PUNIT) + iosf_mbi_assert_punit_acquired(); + + /* Flush the previous comms, just in case it failed last time. */ + if (intel_wait_for_register(uncore, + VLV_IOSF_DOORBELL_REQ, IOSF_SB_BUSY, 0, + 5)) { + drm_dbg(&i915->drm, "IOSF sideband idle wait (%s) timed out\n", + is_read ? "read" : "write"); + return -EAGAIN; + } + + preempt_disable(); + + intel_uncore_write_fw(uncore, VLV_IOSF_ADDR, addr); + intel_uncore_write_fw(uncore, VLV_IOSF_DATA, is_read ? 0 : *val); + intel_uncore_write_fw(uncore, VLV_IOSF_DOORBELL_REQ, + (devfn << IOSF_DEVFN_SHIFT) | + (opcode << IOSF_OPCODE_SHIFT) | + (port << IOSF_PORT_SHIFT) | + (0xf << IOSF_BYTE_ENABLES_SHIFT) | + (0 << IOSF_BAR_SHIFT) | + IOSF_SB_BUSY); + + if (__intel_wait_for_register_fw(uncore, + VLV_IOSF_DOORBELL_REQ, IOSF_SB_BUSY, 0, + 10000, 0, NULL) == 0) { + if (is_read) + *val = intel_uncore_read_fw(uncore, VLV_IOSF_DATA); + err = 0; + } else { + drm_dbg(&i915->drm, "IOSF sideband finish wait (%s) timed out\n", + is_read ? "read" : "write"); + err = -ETIMEDOUT; + } + + preempt_enable(); + + return err; +} + +u32 vlv_punit_read(struct drm_i915_private *i915, u32 addr) +{ + u32 val = 0; + + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_PUNIT, + SB_CRRDDA_NP, addr, &val); + + return val; +} + +int vlv_punit_write(struct drm_i915_private *i915, u32 addr, u32 val) +{ + return vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_PUNIT, + SB_CRWRDA_NP, addr, &val); +} + +u32 vlv_bunit_read(struct drm_i915_private *i915, u32 reg) +{ + u32 val = 0; + + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_BUNIT, + SB_CRRDDA_NP, reg, &val); + + return val; +} + +void vlv_bunit_write(struct drm_i915_private *i915, u32 reg, u32 val) +{ + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_BUNIT, + SB_CRWRDA_NP, reg, &val); +} + +u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr) +{ + u32 val = 0; + + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_NC, + SB_CRRDDA_NP, addr, &val); + + return val; +} + +u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg) +{ + u32 val = 0; + + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), port, + SB_CRRDDA_NP, reg, &val); + + return val; +} + +void vlv_iosf_sb_write(struct drm_i915_private *i915, + u8 port, u32 reg, u32 val) +{ + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), port, + SB_CRWRDA_NP, reg, &val); +} + +u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg) +{ + u32 val = 0; + + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCK, + SB_CRRDDA_NP, reg, &val); + + return val; +} + +void vlv_cck_write(struct drm_i915_private *i915, u32 reg, u32 val) +{ + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCK, + SB_CRWRDA_NP, reg, &val); +} + +u32 vlv_ccu_read(struct drm_i915_private *i915, u32 reg) +{ + u32 val = 0; + + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCU, + SB_CRRDDA_NP, reg, &val); + + return val; +} + +void vlv_ccu_write(struct drm_i915_private *i915, u32 reg, u32 val) +{ + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCU, + SB_CRWRDA_NP, reg, &val); +} + +static u32 vlv_dpio_phy_iosf_port(struct drm_i915_private *i915, enum dpio_phy phy) +{ + /* + * IOSF_PORT_DPIO: VLV x2 PHY (DP/HDMI B and C), CHV x1 PHY (DP/HDMI D) + * IOSF_PORT_DPIO_2: CHV x2 PHY (DP/HDMI B and C) + */ + if (IS_CHERRYVIEW(i915)) + return phy == DPIO_PHY0 ? IOSF_PORT_DPIO_2 : IOSF_PORT_DPIO; + else + return IOSF_PORT_DPIO; +} + +u32 vlv_dpio_read(struct drm_i915_private *i915, enum pipe pipe, int reg) +{ + u32 port = vlv_dpio_phy_iosf_port(i915, DPIO_PHY(pipe)); + u32 val = 0; + + vlv_sideband_rw(i915, DPIO_DEVFN, port, SB_MRD_NP, reg, &val); + + /* + * FIXME: There might be some registers where all 1's is a valid value, + * so ideally we should check the register offset instead... + */ + drm_WARN(&i915->drm, val == 0xffffffff, + "DPIO read pipe %c reg 0x%x == 0x%x\n", + pipe_name(pipe), reg, val); + + return val; +} + +void vlv_dpio_write(struct drm_i915_private *i915, + enum pipe pipe, int reg, u32 val) +{ + u32 port = vlv_dpio_phy_iosf_port(i915, DPIO_PHY(pipe)); + + vlv_sideband_rw(i915, DPIO_DEVFN, port, SB_MWR_NP, reg, &val); +} + +u32 vlv_flisdsi_read(struct drm_i915_private *i915, u32 reg) +{ + u32 val = 0; + + vlv_sideband_rw(i915, DPIO_DEVFN, IOSF_PORT_FLISDSI, SB_CRRDDA_NP, + reg, &val); + return val; +} + +void vlv_flisdsi_write(struct drm_i915_private *i915, u32 reg, u32 val) +{ + vlv_sideband_rw(i915, DPIO_DEVFN, IOSF_PORT_FLISDSI, SB_CRWRDA_NP, + reg, &val); +} diff --git a/drivers/gpu/drm/i915/vlv_sideband.h b/drivers/gpu/drm/i915/vlv_sideband.h new file mode 100644 index 000000000000..d7732f612e7f --- /dev/null +++ b/drivers/gpu/drm/i915/vlv_sideband.h @@ -0,0 +1,123 @@ +/* SPDX-License-Identifier: MIT */ +/* + * Copyright © 2013-2021 Intel Corporation + */ + +#ifndef _VLV_SIDEBAND_H_ +#define _VLV_SIDEBAND_H_ + +#include <linux/bitops.h> +#include <linux/types.h> + +enum pipe; +struct drm_i915_private; + +enum { + VLV_IOSF_SB_BUNIT, + VLV_IOSF_SB_CCK, + VLV_IOSF_SB_CCU, + VLV_IOSF_SB_DPIO, + VLV_IOSF_SB_FLISDSI, + VLV_IOSF_SB_GPIO, + VLV_IOSF_SB_NC, + VLV_IOSF_SB_PUNIT, +}; + +void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports); +u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg); +void vlv_iosf_sb_write(struct drm_i915_private *i915, + u8 port, u32 reg, u32 val); +void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports); + +static inline void vlv_bunit_get(struct drm_i915_private *i915) +{ + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_BUNIT)); +} + +u32 vlv_bunit_read(struct drm_i915_private *i915, u32 reg); +void vlv_bunit_write(struct drm_i915_private *i915, u32 reg, u32 val); + +static inline void vlv_bunit_put(struct drm_i915_private *i915) +{ + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_BUNIT)); +} + +static inline void vlv_cck_get(struct drm_i915_private *i915) +{ + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCK)); +} + +u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg); +void vlv_cck_write(struct drm_i915_private *i915, u32 reg, u32 val); + +static inline void vlv_cck_put(struct drm_i915_private *i915) +{ + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCK)); +} + +static inline void vlv_ccu_get(struct drm_i915_private *i915) +{ + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCU)); +} + +u32 vlv_ccu_read(struct drm_i915_private *i915, u32 reg); +void vlv_ccu_write(struct drm_i915_private *i915, u32 reg, u32 val); + +static inline void vlv_ccu_put(struct drm_i915_private *i915) +{ + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCU)); +} + +static inline void vlv_dpio_get(struct drm_i915_private *i915) +{ + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_DPIO)); +} + +u32 vlv_dpio_read(struct drm_i915_private *i915, enum pipe pipe, int reg); +void vlv_dpio_write(struct drm_i915_private *i915, + enum pipe pipe, int reg, u32 val); + +static inline void vlv_dpio_put(struct drm_i915_private *i915) +{ + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_DPIO)); +} + +static inline void vlv_flisdsi_get(struct drm_i915_private *i915) +{ + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_FLISDSI)); +} + +u32 vlv_flisdsi_read(struct drm_i915_private *i915, u32 reg); +void vlv_flisdsi_write(struct drm_i915_private *i915, u32 reg, u32 val); + +static inline void vlv_flisdsi_put(struct drm_i915_private *i915) +{ + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_FLISDSI)); +} + +static inline void vlv_nc_get(struct drm_i915_private *i915) +{ + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_NC)); +} + +u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr); + +static inline void vlv_nc_put(struct drm_i915_private *i915) +{ + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_NC)); +} + +static inline void vlv_punit_get(struct drm_i915_private *i915) +{ + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_PUNIT)); +} + +u32 vlv_punit_read(struct drm_i915_private *i915, u32 addr); +int vlv_punit_write(struct drm_i915_private *i915, u32 addr, u32 val); + +static inline void vlv_punit_put(struct drm_i915_private *i915) +{ + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_PUNIT)); +} + +#endif /* _VLV_SIDEBAND_H_ */ -- 2.30.2 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 1/1] drm/i915: split out vlv sideband to a separate file 2021-10-13 10:11 ` [Intel-gfx] [PATCH 1/1] drm/i915: split out vlv sideband to a separate file Jani Nikula @ 2021-10-13 11:55 ` Hans de Goede 2021-10-13 15:51 ` Lucas De Marchi 1 sibling, 0 replies; 11+ messages in thread From: Hans de Goede @ 2021-10-13 11:55 UTC (permalink / raw) To: Jani Nikula, intel-gfx; +Cc: Lucas De Marchi, Ville Syrjälä Hi, On 10/13/21 12:11 PM, Jani Nikula wrote: > The VLV/CHV sideband code is pretty distinct from the rest of the > sideband code. Split it out to new vlv_sideband.[ch]. > > Pure code movement with relevant #include changes, and a tiny checkpatch > fix on top. > > Cc: Lucas De Marchi <lucas.demarchi@intel.com> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@redhat.com> Feel free to keep the Reviewed-by if you do a new version with the improved commit msg suggested by Ville. Regards, Hans > --- > drivers/gpu/drm/i915/Makefile | 1 + > drivers/gpu/drm/i915/display/g4x_dp.c | 2 +- > drivers/gpu/drm/i915/display/g4x_hdmi.c | 2 +- > drivers/gpu/drm/i915/display/intel_cdclk.c | 1 + > drivers/gpu/drm/i915/display/intel_display.c | 1 + > .../drm/i915/display/intel_display_debugfs.c | 1 - > .../drm/i915/display/intel_display_power.c | 4 +- > drivers/gpu/drm/i915/display/intel_dp.c | 1 - > drivers/gpu/drm/i915/display/intel_dpio_phy.c | 5 +- > drivers/gpu/drm/i915/display/intel_dpll.c | 2 +- > drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 2 +- > drivers/gpu/drm/i915/display/vlv_dsi.c | 2 +- > drivers/gpu/drm/i915/display/vlv_dsi_pll.c | 2 +- > drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 1 + > drivers/gpu/drm/i915/gt/intel_rps.c | 1 + > drivers/gpu/drm/i915/i915_debugfs.c | 1 - > drivers/gpu/drm/i915/i915_sysfs.c | 1 - > drivers/gpu/drm/i915/intel_pm.c | 1 + > drivers/gpu/drm/i915/intel_sideband.c | 257 ----------------- > drivers/gpu/drm/i915/intel_sideband.h | 110 -------- > drivers/gpu/drm/i915/vlv_sideband.c | 266 ++++++++++++++++++ > drivers/gpu/drm/i915/vlv_sideband.h | 123 ++++++++ > 22 files changed, 405 insertions(+), 382 deletions(-) > create mode 100644 drivers/gpu/drm/i915/vlv_sideband.c > create mode 100644 drivers/gpu/drm/i915/vlv_sideband.h > > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile > index 21b05ed0e4e8..d50d2b144fc6 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -54,6 +54,7 @@ i915-y += i915_drv.o \ > intel_step.o \ > intel_uncore.o \ > intel_wakeref.o \ > + vlv_sideband.o \ > vlv_suspend.o > > # core library code > diff --git a/drivers/gpu/drm/i915/display/g4x_dp.c b/drivers/gpu/drm/i915/display/g4x_dp.c > index 85a09c3e09e8..dc41868d01ef 100644 > --- a/drivers/gpu/drm/i915/display/g4x_dp.c > +++ b/drivers/gpu/drm/i915/display/g4x_dp.c > @@ -18,7 +18,7 @@ > #include "intel_hdmi.h" > #include "intel_hotplug.h" > #include "intel_pps.h" > -#include "intel_sideband.h" > +#include "vlv_sideband.h" > > struct dp_link_dpll { > int clock; > diff --git a/drivers/gpu/drm/i915/display/g4x_hdmi.c b/drivers/gpu/drm/i915/display/g4x_hdmi.c > index be352e9f0afc..88c427f3c346 100644 > --- a/drivers/gpu/drm/i915/display/g4x_hdmi.c > +++ b/drivers/gpu/drm/i915/display/g4x_hdmi.c > @@ -14,8 +14,8 @@ > #include "intel_fifo_underrun.h" > #include "intel_hdmi.h" > #include "intel_hotplug.h" > -#include "intel_sideband.h" > #include "intel_sdvo.h" > +#include "vlv_sideband.h" > > static void intel_hdmi_prepare(struct intel_encoder *encoder, > const struct intel_crtc_state *crtc_state) > diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c > index ecb28e8f1eb6..44bb18773509 100644 > --- a/drivers/gpu/drm/i915/display/intel_cdclk.c > +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c > @@ -30,6 +30,7 @@ > #include "intel_display_types.h" > #include "intel_psr.h" > #include "intel_sideband.h" > +#include "vlv_sideband.h" > > /** > * DOC: CDCLK / RAWCLK > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > index 9cf987ee143d..3602fdb2a549 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -109,6 +109,7 @@ > #include "i9xx_plane.h" > #include "skl_scaler.h" > #include "skl_universal_plane.h" > +#include "vlv_sideband.h" > > static void i9xx_crtc_clock_get(struct intel_crtc *crtc, > struct intel_crtc_state *pipe_config); > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c > index bc5113589f0a..e04767695530 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c > @@ -20,7 +20,6 @@ > #include "intel_hdmi.h" > #include "intel_pm.h" > #include "intel_psr.h" > -#include "intel_sideband.h" > #include "intel_sprite.h" > > static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c > index 06e9879aedd7..709569211c85 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_power.c > +++ b/drivers/gpu/drm/i915/display/intel_display_power.c > @@ -3,12 +3,11 @@ > * Copyright © 2019 Intel Corporation > */ > > -#include "display/intel_crt.h" > - > #include "i915_drv.h" > #include "i915_irq.h" > #include "intel_cdclk.h" > #include "intel_combo_phy.h" > +#include "intel_crt.h" > #include "intel_de.h" > #include "intel_display_power.h" > #include "intel_display_types.h" > @@ -22,6 +21,7 @@ > #include "intel_snps_phy.h" > #include "intel_tc.h" > #include "intel_vga.h" > +#include "vlv_sideband.h" > > bool intel_display_power_well_is_enabled(struct drm_i915_private *dev_priv, > enum i915_power_well_id power_well_id); > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index 10fda20a5bd8..9d8132dd4cc5 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -66,7 +66,6 @@ > #include "intel_panel.h" > #include "intel_pps.h" > #include "intel_psr.h" > -#include "intel_sideband.h" > #include "intel_tc.h" > #include "intel_vdsc.h" > #include "intel_vrr.h" > diff --git a/drivers/gpu/drm/i915/display/intel_dpio_phy.c b/drivers/gpu/drm/i915/display/intel_dpio_phy.c > index 5a2eccb12fe4..44edeb2e55c0 100644 > --- a/drivers/gpu/drm/i915/display/intel_dpio_phy.c > +++ b/drivers/gpu/drm/i915/display/intel_dpio_phy.c > @@ -21,14 +21,13 @@ > * DEALINGS IN THE SOFTWARE. > */ > > -#include "display/intel_dp.h" > - > #include "intel_ddi.h" > #include "intel_ddi_buf_trans.h" > #include "intel_de.h" > #include "intel_display_types.h" > +#include "intel_dp.h" > #include "intel_dpio_phy.h" > -#include "intel_sideband.h" > +#include "vlv_sideband.h" > > /** > * DOC: DPIO > diff --git a/drivers/gpu/drm/i915/display/intel_dpll.c b/drivers/gpu/drm/i915/display/intel_dpll.c > index b84ed4a1bd95..04a7af8340ca 100644 > --- a/drivers/gpu/drm/i915/display/intel_dpll.c > +++ b/drivers/gpu/drm/i915/display/intel_dpll.c > @@ -13,8 +13,8 @@ > #include "intel_lvds.h" > #include "intel_panel.h" > #include "intel_pps.h" > -#include "intel_sideband.h" > #include "intel_snps_phy.h" > +#include "vlv_sideband.h" > > struct intel_limit { > struct { > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > index 61c2ef6a4b8c..f241bedb8597 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > @@ -41,7 +41,7 @@ > #include "i915_drv.h" > #include "intel_display_types.h" > #include "intel_dsi.h" > -#include "intel_sideband.h" > +#include "vlv_sideband.h" > > #define MIPI_TRANSFER_MODE_SHIFT 0 > #define MIPI_VIRTUAL_CHANNEL_SHIFT 1 > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c > index 081b772bfe10..07584695514b 100644 > --- a/drivers/gpu/drm/i915/display/vlv_dsi.c > +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c > @@ -40,8 +40,8 @@ > #include "intel_dsi.h" > #include "intel_fifo_underrun.h" > #include "intel_panel.h" > -#include "intel_sideband.h" > #include "skl_scaler.h" > +#include "vlv_sideband.h" > > /* return pixels in terms of txbyteclkhs */ > static u16 txbyteclkhs(u16 pixels, int bpp, int lane_count, > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c > index 0078973cd219..5413b52ab6ba 100644 > --- a/drivers/gpu/drm/i915/display/vlv_dsi_pll.c > +++ b/drivers/gpu/drm/i915/display/vlv_dsi_pll.c > @@ -31,7 +31,7 @@ > #include "intel_de.h" > #include "intel_display_types.h" > #include "intel_dsi.h" > -#include "intel_sideband.h" > +#include "vlv_sideband.h" > > static const u16 lfsr_converts[] = { > 426, 469, 234, 373, 442, 221, 110, 311, 411, /* 62 - 70 */ > diff --git a/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c b/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c > index 5f84ad602642..1e00fa6fbf27 100644 > --- a/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c > +++ b/drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c > @@ -18,6 +18,7 @@ > #include "intel_runtime_pm.h" > #include "intel_sideband.h" > #include "intel_uncore.h" > +#include "vlv_sideband.h" > > static int fw_domains_show(struct seq_file *m, void *data) > { > diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c > index 172de6c9f949..c47024dbe246 100644 > --- a/drivers/gpu/drm/i915/gt/intel_rps.c > +++ b/drivers/gpu/drm/i915/gt/intel_rps.c > @@ -13,6 +13,7 @@ > #include "intel_gt_pm_irq.h" > #include "intel_rps.h" > #include "intel_sideband.h" > +#include "vlv_sideband.h" > #include "../../../platform/x86/intel_ips.h" > > #define BUSY_MAX_EI 20u /* ms */ > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c > index fdbd46ff59e0..54ae75db121f 100644 > --- a/drivers/gpu/drm/i915/i915_debugfs.c > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > @@ -49,7 +49,6 @@ > #include "i915_scheduler.h" > #include "i915_trace.h" > #include "intel_pm.h" > -#include "intel_sideband.h" > > static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) > { > diff --git a/drivers/gpu/drm/i915/i915_sysfs.c b/drivers/gpu/drm/i915/i915_sysfs.c > index cdf0e9c6fd73..1804f4142740 100644 > --- a/drivers/gpu/drm/i915/i915_sysfs.c > +++ b/drivers/gpu/drm/i915/i915_sysfs.c > @@ -37,7 +37,6 @@ > #include "i915_drv.h" > #include "i915_sysfs.h" > #include "intel_pm.h" > -#include "intel_sideband.h" > > static inline struct drm_i915_private *kdev_minor_to_i915(struct device *kdev) > { > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 8dbf8ec0d890..e4e0d7f9cb60 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -49,6 +49,7 @@ > #include "i915_trace.h" > #include "intel_pm.h" > #include "intel_sideband.h" > +#include "vlv_sideband.h" > #include "../../../platform/x86/intel_ips.h" > > /* Stores plane specific WM parameters */ > diff --git a/drivers/gpu/drm/i915/intel_sideband.c b/drivers/gpu/drm/i915/intel_sideband.c > index e304bf44e1ff..59ef67216c15 100644 > --- a/drivers/gpu/drm/i915/intel_sideband.c > +++ b/drivers/gpu/drm/i915/intel_sideband.c > @@ -27,263 +27,6 @@ > #include "i915_drv.h" > #include "intel_sideband.h" > > -/* > - * IOSF sideband, see VLV2_SidebandMsg_HAS.docx and > - * VLV_VLV2_PUNIT_HAS_0.8.docx > - */ > - > -/* Standard MMIO read, non-posted */ > -#define SB_MRD_NP 0x00 > -/* Standard MMIO write, non-posted */ > -#define SB_MWR_NP 0x01 > -/* Private register read, double-word addressing, non-posted */ > -#define SB_CRRDDA_NP 0x06 > -/* Private register write, double-word addressing, non-posted */ > -#define SB_CRWRDA_NP 0x07 > - > -static void ping(void *info) > -{ > -} > - > -static void __vlv_punit_get(struct drm_i915_private *i915) > -{ > - iosf_mbi_punit_acquire(); > - > - /* > - * Prevent the cpu from sleeping while we use this sideband, otherwise > - * the punit may cause a machine hang. The issue appears to be isolated > - * with changing the power state of the CPU package while changing > - * the power state via the punit, and we have only observed it > - * reliably on 4-core Baytail systems suggesting the issue is in the > - * power delivery mechanism and likely to be be board/function > - * specific. Hence we presume the workaround needs only be applied > - * to the Valleyview P-unit and not all sideband communications. > - */ > - if (IS_VALLEYVIEW(i915)) { > - cpu_latency_qos_update_request(&i915->sb_qos, 0); > - on_each_cpu(ping, NULL, 1); > - } > -} > - > -static void __vlv_punit_put(struct drm_i915_private *i915) > -{ > - if (IS_VALLEYVIEW(i915)) > - cpu_latency_qos_update_request(&i915->sb_qos, > - PM_QOS_DEFAULT_VALUE); > - > - iosf_mbi_punit_release(); > -} > - > -void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports) > -{ > - if (ports & BIT(VLV_IOSF_SB_PUNIT)) > - __vlv_punit_get(i915); > - > - mutex_lock(&i915->sb_lock); > -} > - > -void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports) > -{ > - mutex_unlock(&i915->sb_lock); > - > - if (ports & BIT(VLV_IOSF_SB_PUNIT)) > - __vlv_punit_put(i915); > -} > - > -static int vlv_sideband_rw(struct drm_i915_private *i915, > - u32 devfn, u32 port, u32 opcode, > - u32 addr, u32 *val) > -{ > - struct intel_uncore *uncore = &i915->uncore; > - const bool is_read = (opcode == SB_MRD_NP || opcode == SB_CRRDDA_NP); > - int err; > - > - lockdep_assert_held(&i915->sb_lock); > - if (port == IOSF_PORT_PUNIT) > - iosf_mbi_assert_punit_acquired(); > - > - /* Flush the previous comms, just in case it failed last time. */ > - if (intel_wait_for_register(uncore, > - VLV_IOSF_DOORBELL_REQ, IOSF_SB_BUSY, 0, > - 5)) { > - drm_dbg(&i915->drm, "IOSF sideband idle wait (%s) timed out\n", > - is_read ? "read" : "write"); > - return -EAGAIN; > - } > - > - preempt_disable(); > - > - intel_uncore_write_fw(uncore, VLV_IOSF_ADDR, addr); > - intel_uncore_write_fw(uncore, VLV_IOSF_DATA, is_read ? 0 : *val); > - intel_uncore_write_fw(uncore, VLV_IOSF_DOORBELL_REQ, > - (devfn << IOSF_DEVFN_SHIFT) | > - (opcode << IOSF_OPCODE_SHIFT) | > - (port << IOSF_PORT_SHIFT) | > - (0xf << IOSF_BYTE_ENABLES_SHIFT) | > - (0 << IOSF_BAR_SHIFT) | > - IOSF_SB_BUSY); > - > - if (__intel_wait_for_register_fw(uncore, > - VLV_IOSF_DOORBELL_REQ, IOSF_SB_BUSY, 0, > - 10000, 0, NULL) == 0) { > - if (is_read) > - *val = intel_uncore_read_fw(uncore, VLV_IOSF_DATA); > - err = 0; > - } else { > - drm_dbg(&i915->drm, "IOSF sideband finish wait (%s) timed out\n", > - is_read ? "read" : "write"); > - err = -ETIMEDOUT; > - } > - > - preempt_enable(); > - > - return err; > -} > - > -u32 vlv_punit_read(struct drm_i915_private *i915, u32 addr) > -{ > - u32 val = 0; > - > - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_PUNIT, > - SB_CRRDDA_NP, addr, &val); > - > - return val; > -} > - > -int vlv_punit_write(struct drm_i915_private *i915, u32 addr, u32 val) > -{ > - return vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_PUNIT, > - SB_CRWRDA_NP, addr, &val); > -} > - > -u32 vlv_bunit_read(struct drm_i915_private *i915, u32 reg) > -{ > - u32 val = 0; > - > - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_BUNIT, > - SB_CRRDDA_NP, reg, &val); > - > - return val; > -} > - > -void vlv_bunit_write(struct drm_i915_private *i915, u32 reg, u32 val) > -{ > - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_BUNIT, > - SB_CRWRDA_NP, reg, &val); > -} > - > -u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr) > -{ > - u32 val = 0; > - > - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_NC, > - SB_CRRDDA_NP, addr, &val); > - > - return val; > -} > - > -u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg) > -{ > - u32 val = 0; > - > - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), port, > - SB_CRRDDA_NP, reg, &val); > - > - return val; > -} > - > -void vlv_iosf_sb_write(struct drm_i915_private *i915, > - u8 port, u32 reg, u32 val) > -{ > - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), port, > - SB_CRWRDA_NP, reg, &val); > -} > - > -u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg) > -{ > - u32 val = 0; > - > - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCK, > - SB_CRRDDA_NP, reg, &val); > - > - return val; > -} > - > -void vlv_cck_write(struct drm_i915_private *i915, u32 reg, u32 val) > -{ > - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCK, > - SB_CRWRDA_NP, reg, &val); > -} > - > -u32 vlv_ccu_read(struct drm_i915_private *i915, u32 reg) > -{ > - u32 val = 0; > - > - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCU, > - SB_CRRDDA_NP, reg, &val); > - > - return val; > -} > - > -void vlv_ccu_write(struct drm_i915_private *i915, u32 reg, u32 val) > -{ > - vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCU, > - SB_CRWRDA_NP, reg, &val); > -} > - > -static u32 vlv_dpio_phy_iosf_port(struct drm_i915_private *i915, enum dpio_phy phy) > -{ > - /* > - * IOSF_PORT_DPIO: VLV x2 PHY (DP/HDMI B and C), CHV x1 PHY (DP/HDMI D) > - * IOSF_PORT_DPIO_2: CHV x2 PHY (DP/HDMI B and C) > - */ > - if (IS_CHERRYVIEW(i915)) > - return phy == DPIO_PHY0 ? IOSF_PORT_DPIO_2 : IOSF_PORT_DPIO; > - else > - return IOSF_PORT_DPIO; > -} > - > -u32 vlv_dpio_read(struct drm_i915_private *i915, enum pipe pipe, int reg) > -{ > - u32 port = vlv_dpio_phy_iosf_port(i915, DPIO_PHY(pipe)); > - u32 val = 0; > - > - vlv_sideband_rw(i915, DPIO_DEVFN, port, SB_MRD_NP, reg, &val); > - > - /* > - * FIXME: There might be some registers where all 1's is a valid value, > - * so ideally we should check the register offset instead... > - */ > - drm_WARN(&i915->drm, val == 0xffffffff, > - "DPIO read pipe %c reg 0x%x == 0x%x\n", > - pipe_name(pipe), reg, val); > - > - return val; > -} > - > -void vlv_dpio_write(struct drm_i915_private *i915, > - enum pipe pipe, int reg, u32 val) > -{ > - u32 port = vlv_dpio_phy_iosf_port(i915, DPIO_PHY(pipe)); > - > - vlv_sideband_rw(i915, DPIO_DEVFN, port, SB_MWR_NP, reg, &val); > -} > - > -u32 vlv_flisdsi_read(struct drm_i915_private *i915, u32 reg) > -{ > - u32 val = 0; > - > - vlv_sideband_rw(i915, DPIO_DEVFN, IOSF_PORT_FLISDSI, SB_CRRDDA_NP, > - reg, &val); > - return val; > -} > - > -void vlv_flisdsi_write(struct drm_i915_private *i915, u32 reg, u32 val) > -{ > - vlv_sideband_rw(i915, DPIO_DEVFN, IOSF_PORT_FLISDSI, SB_CRWRDA_NP, > - reg, &val); > -} > - > /* SBI access */ > static int intel_sbi_rw(struct drm_i915_private *i915, u16 reg, > enum intel_sbi_destination destination, > diff --git a/drivers/gpu/drm/i915/intel_sideband.h b/drivers/gpu/drm/i915/intel_sideband.h > index d1d14bcb8f56..914ffd98b38f 100644 > --- a/drivers/gpu/drm/i915/intel_sideband.h > +++ b/drivers/gpu/drm/i915/intel_sideband.h > @@ -3,125 +3,15 @@ > #ifndef _INTEL_SIDEBAND_H_ > #define _INTEL_SIDEBAND_H_ > > -#include <linux/bitops.h> > #include <linux/types.h> > > struct drm_i915_private; > -enum pipe; > > enum intel_sbi_destination { > SBI_ICLK, > SBI_MPHY, > }; > > -enum { > - VLV_IOSF_SB_BUNIT, > - VLV_IOSF_SB_CCK, > - VLV_IOSF_SB_CCU, > - VLV_IOSF_SB_DPIO, > - VLV_IOSF_SB_FLISDSI, > - VLV_IOSF_SB_GPIO, > - VLV_IOSF_SB_NC, > - VLV_IOSF_SB_PUNIT, > -}; > - > -void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports); > -u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg); > -void vlv_iosf_sb_write(struct drm_i915_private *i915, > - u8 port, u32 reg, u32 val); > -void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports); > - > -static inline void vlv_bunit_get(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_BUNIT)); > -} > - > -u32 vlv_bunit_read(struct drm_i915_private *i915, u32 reg); > -void vlv_bunit_write(struct drm_i915_private *i915, u32 reg, u32 val); > - > -static inline void vlv_bunit_put(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_BUNIT)); > -} > - > -static inline void vlv_cck_get(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCK)); > -} > - > -u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg); > -void vlv_cck_write(struct drm_i915_private *i915, u32 reg, u32 val); > - > -static inline void vlv_cck_put(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCK)); > -} > - > -static inline void vlv_ccu_get(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCU)); > -} > - > -u32 vlv_ccu_read(struct drm_i915_private *i915, u32 reg); > -void vlv_ccu_write(struct drm_i915_private *i915, u32 reg, u32 val); > - > -static inline void vlv_ccu_put(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCU)); > -} > - > -static inline void vlv_dpio_get(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_DPIO)); > -} > - > -u32 vlv_dpio_read(struct drm_i915_private *i915, enum pipe pipe, int reg); > -void vlv_dpio_write(struct drm_i915_private *i915, > - enum pipe pipe, int reg, u32 val); > - > -static inline void vlv_dpio_put(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_DPIO)); > -} > - > -static inline void vlv_flisdsi_get(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_FLISDSI)); > -} > - > -u32 vlv_flisdsi_read(struct drm_i915_private *i915, u32 reg); > -void vlv_flisdsi_write(struct drm_i915_private *i915, u32 reg, u32 val); > - > -static inline void vlv_flisdsi_put(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_FLISDSI)); > -} > - > -static inline void vlv_nc_get(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_NC)); > -} > - > -u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr); > - > -static inline void vlv_nc_put(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_NC)); > -} > - > -static inline void vlv_punit_get(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_PUNIT)); > -} > - > -u32 vlv_punit_read(struct drm_i915_private *i915, u32 addr); > -int vlv_punit_write(struct drm_i915_private *i915, u32 addr, u32 val); > - > -static inline void vlv_punit_put(struct drm_i915_private *i915) > -{ > - vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_PUNIT)); > -} > - > u32 intel_sbi_read(struct drm_i915_private *i915, u16 reg, > enum intel_sbi_destination destination); > void intel_sbi_write(struct drm_i915_private *i915, u16 reg, u32 value, > diff --git a/drivers/gpu/drm/i915/vlv_sideband.c b/drivers/gpu/drm/i915/vlv_sideband.c > new file mode 100644 > index 000000000000..35380738a951 > --- /dev/null > +++ b/drivers/gpu/drm/i915/vlv_sideband.c > @@ -0,0 +1,266 @@ > +// SPDX-License-Identifier: MIT > +/* > + * Copyright © 2013-2021 Intel Corporation > + */ > + > +#include <asm/iosf_mbi.h> > + > +#include "i915_drv.h" > +#include "vlv_sideband.h" > + > +/* > + * IOSF sideband, see VLV2_SidebandMsg_HAS.docx and > + * VLV_VLV2_PUNIT_HAS_0.8.docx > + */ > + > +/* Standard MMIO read, non-posted */ > +#define SB_MRD_NP 0x00 > +/* Standard MMIO write, non-posted */ > +#define SB_MWR_NP 0x01 > +/* Private register read, double-word addressing, non-posted */ > +#define SB_CRRDDA_NP 0x06 > +/* Private register write, double-word addressing, non-posted */ > +#define SB_CRWRDA_NP 0x07 > + > +static void ping(void *info) > +{ > +} > + > +static void __vlv_punit_get(struct drm_i915_private *i915) > +{ > + iosf_mbi_punit_acquire(); > + > + /* > + * Prevent the cpu from sleeping while we use this sideband, otherwise > + * the punit may cause a machine hang. The issue appears to be isolated > + * with changing the power state of the CPU package while changing > + * the power state via the punit, and we have only observed it > + * reliably on 4-core Baytail systems suggesting the issue is in the > + * power delivery mechanism and likely to be board/function > + * specific. Hence we presume the workaround needs only be applied > + * to the Valleyview P-unit and not all sideband communications. > + */ > + if (IS_VALLEYVIEW(i915)) { > + cpu_latency_qos_update_request(&i915->sb_qos, 0); > + on_each_cpu(ping, NULL, 1); > + } > +} > + > +static void __vlv_punit_put(struct drm_i915_private *i915) > +{ > + if (IS_VALLEYVIEW(i915)) > + cpu_latency_qos_update_request(&i915->sb_qos, > + PM_QOS_DEFAULT_VALUE); > + > + iosf_mbi_punit_release(); > +} > + > +void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports) > +{ > + if (ports & BIT(VLV_IOSF_SB_PUNIT)) > + __vlv_punit_get(i915); > + > + mutex_lock(&i915->sb_lock); > +} > + > +void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports) > +{ > + mutex_unlock(&i915->sb_lock); > + > + if (ports & BIT(VLV_IOSF_SB_PUNIT)) > + __vlv_punit_put(i915); > +} > + > +static int vlv_sideband_rw(struct drm_i915_private *i915, > + u32 devfn, u32 port, u32 opcode, > + u32 addr, u32 *val) > +{ > + struct intel_uncore *uncore = &i915->uncore; > + const bool is_read = (opcode == SB_MRD_NP || opcode == SB_CRRDDA_NP); > + int err; > + > + lockdep_assert_held(&i915->sb_lock); > + if (port == IOSF_PORT_PUNIT) > + iosf_mbi_assert_punit_acquired(); > + > + /* Flush the previous comms, just in case it failed last time. */ > + if (intel_wait_for_register(uncore, > + VLV_IOSF_DOORBELL_REQ, IOSF_SB_BUSY, 0, > + 5)) { > + drm_dbg(&i915->drm, "IOSF sideband idle wait (%s) timed out\n", > + is_read ? "read" : "write"); > + return -EAGAIN; > + } > + > + preempt_disable(); > + > + intel_uncore_write_fw(uncore, VLV_IOSF_ADDR, addr); > + intel_uncore_write_fw(uncore, VLV_IOSF_DATA, is_read ? 0 : *val); > + intel_uncore_write_fw(uncore, VLV_IOSF_DOORBELL_REQ, > + (devfn << IOSF_DEVFN_SHIFT) | > + (opcode << IOSF_OPCODE_SHIFT) | > + (port << IOSF_PORT_SHIFT) | > + (0xf << IOSF_BYTE_ENABLES_SHIFT) | > + (0 << IOSF_BAR_SHIFT) | > + IOSF_SB_BUSY); > + > + if (__intel_wait_for_register_fw(uncore, > + VLV_IOSF_DOORBELL_REQ, IOSF_SB_BUSY, 0, > + 10000, 0, NULL) == 0) { > + if (is_read) > + *val = intel_uncore_read_fw(uncore, VLV_IOSF_DATA); > + err = 0; > + } else { > + drm_dbg(&i915->drm, "IOSF sideband finish wait (%s) timed out\n", > + is_read ? "read" : "write"); > + err = -ETIMEDOUT; > + } > + > + preempt_enable(); > + > + return err; > +} > + > +u32 vlv_punit_read(struct drm_i915_private *i915, u32 addr) > +{ > + u32 val = 0; > + > + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_PUNIT, > + SB_CRRDDA_NP, addr, &val); > + > + return val; > +} > + > +int vlv_punit_write(struct drm_i915_private *i915, u32 addr, u32 val) > +{ > + return vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_PUNIT, > + SB_CRWRDA_NP, addr, &val); > +} > + > +u32 vlv_bunit_read(struct drm_i915_private *i915, u32 reg) > +{ > + u32 val = 0; > + > + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_BUNIT, > + SB_CRRDDA_NP, reg, &val); > + > + return val; > +} > + > +void vlv_bunit_write(struct drm_i915_private *i915, u32 reg, u32 val) > +{ > + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_BUNIT, > + SB_CRWRDA_NP, reg, &val); > +} > + > +u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr) > +{ > + u32 val = 0; > + > + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_NC, > + SB_CRRDDA_NP, addr, &val); > + > + return val; > +} > + > +u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg) > +{ > + u32 val = 0; > + > + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), port, > + SB_CRRDDA_NP, reg, &val); > + > + return val; > +} > + > +void vlv_iosf_sb_write(struct drm_i915_private *i915, > + u8 port, u32 reg, u32 val) > +{ > + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), port, > + SB_CRWRDA_NP, reg, &val); > +} > + > +u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg) > +{ > + u32 val = 0; > + > + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCK, > + SB_CRRDDA_NP, reg, &val); > + > + return val; > +} > + > +void vlv_cck_write(struct drm_i915_private *i915, u32 reg, u32 val) > +{ > + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCK, > + SB_CRWRDA_NP, reg, &val); > +} > + > +u32 vlv_ccu_read(struct drm_i915_private *i915, u32 reg) > +{ > + u32 val = 0; > + > + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCU, > + SB_CRRDDA_NP, reg, &val); > + > + return val; > +} > + > +void vlv_ccu_write(struct drm_i915_private *i915, u32 reg, u32 val) > +{ > + vlv_sideband_rw(i915, PCI_DEVFN(0, 0), IOSF_PORT_CCU, > + SB_CRWRDA_NP, reg, &val); > +} > + > +static u32 vlv_dpio_phy_iosf_port(struct drm_i915_private *i915, enum dpio_phy phy) > +{ > + /* > + * IOSF_PORT_DPIO: VLV x2 PHY (DP/HDMI B and C), CHV x1 PHY (DP/HDMI D) > + * IOSF_PORT_DPIO_2: CHV x2 PHY (DP/HDMI B and C) > + */ > + if (IS_CHERRYVIEW(i915)) > + return phy == DPIO_PHY0 ? IOSF_PORT_DPIO_2 : IOSF_PORT_DPIO; > + else > + return IOSF_PORT_DPIO; > +} > + > +u32 vlv_dpio_read(struct drm_i915_private *i915, enum pipe pipe, int reg) > +{ > + u32 port = vlv_dpio_phy_iosf_port(i915, DPIO_PHY(pipe)); > + u32 val = 0; > + > + vlv_sideband_rw(i915, DPIO_DEVFN, port, SB_MRD_NP, reg, &val); > + > + /* > + * FIXME: There might be some registers where all 1's is a valid value, > + * so ideally we should check the register offset instead... > + */ > + drm_WARN(&i915->drm, val == 0xffffffff, > + "DPIO read pipe %c reg 0x%x == 0x%x\n", > + pipe_name(pipe), reg, val); > + > + return val; > +} > + > +void vlv_dpio_write(struct drm_i915_private *i915, > + enum pipe pipe, int reg, u32 val) > +{ > + u32 port = vlv_dpio_phy_iosf_port(i915, DPIO_PHY(pipe)); > + > + vlv_sideband_rw(i915, DPIO_DEVFN, port, SB_MWR_NP, reg, &val); > +} > + > +u32 vlv_flisdsi_read(struct drm_i915_private *i915, u32 reg) > +{ > + u32 val = 0; > + > + vlv_sideband_rw(i915, DPIO_DEVFN, IOSF_PORT_FLISDSI, SB_CRRDDA_NP, > + reg, &val); > + return val; > +} > + > +void vlv_flisdsi_write(struct drm_i915_private *i915, u32 reg, u32 val) > +{ > + vlv_sideband_rw(i915, DPIO_DEVFN, IOSF_PORT_FLISDSI, SB_CRWRDA_NP, > + reg, &val); > +} > diff --git a/drivers/gpu/drm/i915/vlv_sideband.h b/drivers/gpu/drm/i915/vlv_sideband.h > new file mode 100644 > index 000000000000..d7732f612e7f > --- /dev/null > +++ b/drivers/gpu/drm/i915/vlv_sideband.h > @@ -0,0 +1,123 @@ > +/* SPDX-License-Identifier: MIT */ > +/* > + * Copyright © 2013-2021 Intel Corporation > + */ > + > +#ifndef _VLV_SIDEBAND_H_ > +#define _VLV_SIDEBAND_H_ > + > +#include <linux/bitops.h> > +#include <linux/types.h> > + > +enum pipe; > +struct drm_i915_private; > + > +enum { > + VLV_IOSF_SB_BUNIT, > + VLV_IOSF_SB_CCK, > + VLV_IOSF_SB_CCU, > + VLV_IOSF_SB_DPIO, > + VLV_IOSF_SB_FLISDSI, > + VLV_IOSF_SB_GPIO, > + VLV_IOSF_SB_NC, > + VLV_IOSF_SB_PUNIT, > +}; > + > +void vlv_iosf_sb_get(struct drm_i915_private *i915, unsigned long ports); > +u32 vlv_iosf_sb_read(struct drm_i915_private *i915, u8 port, u32 reg); > +void vlv_iosf_sb_write(struct drm_i915_private *i915, > + u8 port, u32 reg, u32 val); > +void vlv_iosf_sb_put(struct drm_i915_private *i915, unsigned long ports); > + > +static inline void vlv_bunit_get(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_BUNIT)); > +} > + > +u32 vlv_bunit_read(struct drm_i915_private *i915, u32 reg); > +void vlv_bunit_write(struct drm_i915_private *i915, u32 reg, u32 val); > + > +static inline void vlv_bunit_put(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_BUNIT)); > +} > + > +static inline void vlv_cck_get(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCK)); > +} > + > +u32 vlv_cck_read(struct drm_i915_private *i915, u32 reg); > +void vlv_cck_write(struct drm_i915_private *i915, u32 reg, u32 val); > + > +static inline void vlv_cck_put(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCK)); > +} > + > +static inline void vlv_ccu_get(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_CCU)); > +} > + > +u32 vlv_ccu_read(struct drm_i915_private *i915, u32 reg); > +void vlv_ccu_write(struct drm_i915_private *i915, u32 reg, u32 val); > + > +static inline void vlv_ccu_put(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_CCU)); > +} > + > +static inline void vlv_dpio_get(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_DPIO)); > +} > + > +u32 vlv_dpio_read(struct drm_i915_private *i915, enum pipe pipe, int reg); > +void vlv_dpio_write(struct drm_i915_private *i915, > + enum pipe pipe, int reg, u32 val); > + > +static inline void vlv_dpio_put(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_DPIO)); > +} > + > +static inline void vlv_flisdsi_get(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_FLISDSI)); > +} > + > +u32 vlv_flisdsi_read(struct drm_i915_private *i915, u32 reg); > +void vlv_flisdsi_write(struct drm_i915_private *i915, u32 reg, u32 val); > + > +static inline void vlv_flisdsi_put(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_FLISDSI)); > +} > + > +static inline void vlv_nc_get(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_NC)); > +} > + > +u32 vlv_nc_read(struct drm_i915_private *i915, u8 addr); > + > +static inline void vlv_nc_put(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_NC)); > +} > + > +static inline void vlv_punit_get(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_get(i915, BIT(VLV_IOSF_SB_PUNIT)); > +} > + > +u32 vlv_punit_read(struct drm_i915_private *i915, u32 addr); > +int vlv_punit_write(struct drm_i915_private *i915, u32 addr, u32 val); > + > +static inline void vlv_punit_put(struct drm_i915_private *i915) > +{ > + vlv_iosf_sb_put(i915, BIT(VLV_IOSF_SB_PUNIT)); > +} > + > +#endif /* _VLV_SIDEBAND_H_ */ > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 1/1] drm/i915: split out vlv sideband to a separate file 2021-10-13 10:11 ` [Intel-gfx] [PATCH 1/1] drm/i915: split out vlv sideband to a separate file Jani Nikula 2021-10-13 11:55 ` Hans de Goede @ 2021-10-13 15:51 ` Lucas De Marchi 1 sibling, 0 replies; 11+ messages in thread From: Lucas De Marchi @ 2021-10-13 15:51 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx, Ville Syrjälä, siva.mullati On Wed, Oct 13, 2021 at 01:11:59PM +0300, Jani Nikula wrote: >The VLV/CHV sideband code is pretty distinct from the rest of the >sideband code. Split it out to new vlv_sideband.[ch]. > >Pure code movement with relevant #include changes, and a tiny checkpatch >fix on top. > >Cc: Lucas De Marchi <lucas.demarchi@intel.com> >Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> >Signed-off-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Lucas De Marchi <lucas.demarchi@intel.com> thanks Lucas De Marchi ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: vlv sideband 2021-10-13 10:11 [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband Jani Nikula 2021-10-13 10:11 ` [Intel-gfx] [PATCH 1/1] drm/i915: split out vlv sideband to a separate file Jani Nikula @ 2021-10-13 10:28 ` Patchwork 2021-10-13 10:38 ` [Intel-gfx] [PATCH 0/1] " Ville Syrjälä ` (2 subsequent siblings) 4 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2021-10-13 10:28 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: drm/i915: vlv sideband URL : https://patchwork.freedesktop.org/series/95764/ State : warning == Summary == $ dim checkpatch origin/drm-tip ba91b0757d4b drm/i915: split out vlv sideband to a separate file -:666: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #666: new file mode 100644 total: 0 errors, 1 warnings, 0 checks, 934 lines checked ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband 2021-10-13 10:11 [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband Jani Nikula 2021-10-13 10:11 ` [Intel-gfx] [PATCH 1/1] drm/i915: split out vlv sideband to a separate file Jani Nikula 2021-10-13 10:28 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: vlv sideband Patchwork @ 2021-10-13 10:38 ` Ville Syrjälä 2021-10-13 10:47 ` Jani Nikula 2021-10-13 10:57 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork 2021-10-13 13:13 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 4 siblings, 1 reply; 11+ messages in thread From: Ville Syrjälä @ 2021-10-13 10:38 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx, Lucas De Marchi On Wed, Oct 13, 2021 at 01:11:58PM +0300, Jani Nikula wrote: > Three main ideas here: > > - vlv sideband only has the name "sideband" in common with the rest of > intel_sideband.[ch] I wouldn't put it like that. There are two actual sideband implementtions in that file: - vlv/chv iosf sideband (vlv_sideband) - lpt/wpt iosf sideband (intel_sbi) And the third thing in that file is the snb+ pcode mailbox stuff, which has nothing to do with sideband. -- Ville Syrjälä Intel ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband 2021-10-13 10:38 ` [Intel-gfx] [PATCH 0/1] " Ville Syrjälä @ 2021-10-13 10:47 ` Jani Nikula 2021-10-13 10:59 ` Ville Syrjälä 2021-10-13 15:47 ` Lucas De Marchi 0 siblings, 2 replies; 11+ messages in thread From: Jani Nikula @ 2021-10-13 10:47 UTC (permalink / raw) To: Ville Syrjälä; +Cc: intel-gfx, Lucas De Marchi On Wed, 13 Oct 2021, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote: > On Wed, Oct 13, 2021 at 01:11:58PM +0300, Jani Nikula wrote: >> Three main ideas here: >> >> - vlv sideband only has the name "sideband" in common with the rest of >> intel_sideband.[ch] > > I wouldn't put it like that. There are two actual sideband > implementtions in that file: > - vlv/chv iosf sideband (vlv_sideband) > - lpt/wpt iosf sideband (intel_sbi) > > And the third thing in that file is the snb+ pcode mailbox stuff, > which has nothing to do with sideband. Fair enough... but no opposition to the splitting out of vlv/chv iosf sideband? vlv_sideband.[ch] like here? I'm fine with renaming too. I can follow up with lpt/wpt iosf split out (intel_sbi.[ch]?) and snb+ pcode (intel_pcode.[ch]?). I think we've just put all of them together way back when this was all probably bundled in i915_drv.c or something... BR, Jani. -- Jani Nikula, Intel Open Source Graphics Center ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband 2021-10-13 10:47 ` Jani Nikula @ 2021-10-13 10:59 ` Ville Syrjälä 2021-10-13 15:47 ` Lucas De Marchi 1 sibling, 0 replies; 11+ messages in thread From: Ville Syrjälä @ 2021-10-13 10:59 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx, Lucas De Marchi On Wed, Oct 13, 2021 at 01:47:09PM +0300, Jani Nikula wrote: > On Wed, 13 Oct 2021, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote: > > On Wed, Oct 13, 2021 at 01:11:58PM +0300, Jani Nikula wrote: > >> Three main ideas here: > >> > >> - vlv sideband only has the name "sideband" in common with the rest of > >> intel_sideband.[ch] > > > > I wouldn't put it like that. There are two actual sideband > > implementtions in that file: > > - vlv/chv iosf sideband (vlv_sideband) > > - lpt/wpt iosf sideband (intel_sbi) > > > > And the third thing in that file is the snb+ pcode mailbox stuff, > > which has nothing to do with sideband. > > Fair enough... but no opposition to the splitting out of vlv/chv iosf > sideband? vlv_sideband.[ch] like here? I'm fine with renaming too. > > I can follow up with lpt/wpt iosf split out (intel_sbi.[ch]?) and snb+ > pcode (intel_pcode.[ch]?). Yeah, I guess just full split is the cleanest. Those names seem OK to me. Or I suppose we could rename the intel_sbi stuff to lpt_sbi or something? Might not be worth the hassle. Adding a small comment to intel_sbi.c to document what it's for should be sufficient reminder. > I think we've just put all of them together way back when this was all > probably bundled in i915_drv.c or something... Yeah. I think the common thread was that you need to go through a mailbox, but the file name didn't really reflect that. -- Ville Syrjälä Intel ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband 2021-10-13 10:47 ` Jani Nikula 2021-10-13 10:59 ` Ville Syrjälä @ 2021-10-13 15:47 ` Lucas De Marchi 1 sibling, 0 replies; 11+ messages in thread From: Lucas De Marchi @ 2021-10-13 15:47 UTC (permalink / raw) To: Jani Nikula; +Cc: Ville Syrjälä, intel-gfx, siva.mullati On Wed, Oct 13, 2021 at 01:47:09PM +0300, Jani Nikula wrote: >On Wed, 13 Oct 2021, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote: >> On Wed, Oct 13, 2021 at 01:11:58PM +0300, Jani Nikula wrote: >>> Three main ideas here: >>> >>> - vlv sideband only has the name "sideband" in common with the rest of >>> intel_sideband.[ch] >> >> I wouldn't put it like that. There are two actual sideband >> implementtions in that file: >> - vlv/chv iosf sideband (vlv_sideband) >> - lpt/wpt iosf sideband (intel_sbi) >> >> And the third thing in that file is the snb+ pcode mailbox stuff, >> which has nothing to do with sideband. > >Fair enough... but no opposition to the splitting out of vlv/chv iosf >sideband? vlv_sideband.[ch] like here? I'm fine with renaming too. > >I can follow up with lpt/wpt iosf split out (intel_sbi.[ch]?) and snb+ >pcode (intel_pcode.[ch]?). yeah, I think that if we move intel_pcode.[ch] out, then we probably don't even have to worry about the iosf_* calls for other archs. The common stuff would be in pcode and the others would be compiled out for archs that don't have it (i.e. only x86 adds it). +Siva, who was looking into this iosf abstraction. Lucas De Marchi > >I think we've just put all of them together way back when this was all >probably bundled in i915_drv.c or something... > > >BR, >Jani. > > > >-- >Jani Nikula, Intel Open Source Graphics Center ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: vlv sideband 2021-10-13 10:11 [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband Jani Nikula ` (2 preceding siblings ...) 2021-10-13 10:38 ` [Intel-gfx] [PATCH 0/1] " Ville Syrjälä @ 2021-10-13 10:57 ` Patchwork 2021-10-13 13:13 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 4 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2021-10-13 10:57 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 4202 bytes --] == Series Details == Series: drm/i915: vlv sideband URL : https://patchwork.freedesktop.org/series/95764/ State : success == Summary == CI Bug Log - changes from CI_DRM_10728 -> Patchwork_21327 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/index.html Known issues ------------ Here are the changes found in Patchwork_21327 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live@hangcheck: - fi-ivb-3770: [PASS][1] -> [INCOMPLETE][2] ([i915#3303]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/fi-ivb-3770/igt@i915_selftest@live@hangcheck.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/fi-ivb-3770/igt@i915_selftest@live@hangcheck.html * igt@kms_chamelium@vga-hpd-fast: - fi-kbl-guc: NOTRUN -> [SKIP][3] ([fdo#109271] / [fdo#111827]) +8 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/fi-kbl-guc/igt@kms_chamelium@vga-hpd-fast.html * igt@kms_frontbuffer_tracking@basic: - fi-cml-u2: [PASS][4] -> [DMESG-WARN][5] ([i915#4269]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d: - fi-kbl-guc: NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#533]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/fi-kbl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html * igt@kms_pipe_crc_basic@read-crc-pipe-c: - fi-kbl-guc: NOTRUN -> [SKIP][7] ([fdo#109271]) +41 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/fi-kbl-guc/igt@kms_pipe_crc_basic@read-crc-pipe-c.html * igt@runner@aborted: - fi-ivb-3770: NOTRUN -> [FAIL][8] ([fdo#109271]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/fi-ivb-3770/igt@runner@aborted.html #### Possible fixes #### * igt@i915_selftest@live@hangcheck: - {fi-hsw-gt1}: [DMESG-WARN][9] ([i915#3303]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/fi-hsw-gt1/igt@i915_selftest@live@hangcheck.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/fi-hsw-gt1/igt@i915_selftest@live@hangcheck.html * igt@i915_selftest@live@perf: - {fi-tgl-dsi}: [DMESG-WARN][11] ([i915#2867]) -> [PASS][12] +9 similar issues [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/fi-tgl-dsi/igt@i915_selftest@live@perf.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/fi-tgl-dsi/igt@i915_selftest@live@perf.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827 [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867 [i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303 [i915#4269]: https://gitlab.freedesktop.org/drm/intel/issues/4269 [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533 Participating hosts (41 -> 37) ------------------------------ Additional (1): fi-kbl-guc Missing (5): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-apl-guc fi-ctg-p8600 Build changes ------------- * Linux: CI_DRM_10728 -> Patchwork_21327 CI-20190529: 20190529 CI_DRM_10728: 82a9f298afec66c882e710078138891826ce5e22 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_6242: 721fd85ee95225ed5df322f7182bdfa9b86a3e68 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_21327: ba91b0757d4b185a92e03981ca99df05ca7cea22 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == ba91b0757d4b drm/i915: split out vlv sideband to a separate file == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/index.html [-- Attachment #2: Type: text/html, Size: 5280 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915: vlv sideband 2021-10-13 10:11 [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband Jani Nikula ` (3 preceding siblings ...) 2021-10-13 10:57 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork @ 2021-10-13 13:13 ` Patchwork 4 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2021-10-13 13:13 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 30245 bytes --] == Series Details == Series: drm/i915: vlv sideband URL : https://patchwork.freedesktop.org/series/95764/ State : failure == Summary == CI Bug Log - changes from CI_DRM_10728_full -> Patchwork_21327_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_21327_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_21327_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_21327_full: ### IGT changes ### #### Possible regressions #### * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-kbl: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-kbl7/igt@kms_frontbuffer_tracking@fbc-suspend.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl2/igt@kms_frontbuffer_tracking@fbc-suspend.html Known issues ------------ Here are the changes found in Patchwork_21327_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@preservation-s3@vcs0: - shard-kbl: [PASS][3] -> [DMESG-WARN][4] ([i915#180]) +5 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-kbl1/igt@gem_ctx_isolation@preservation-s3@vcs0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl1/igt@gem_ctx_isolation@preservation-s3@vcs0.html * igt@gem_ctx_persistence@legacy-engines-persistence: - shard-snb: NOTRUN -> [SKIP][5] ([fdo#109271] / [i915#1099]) +2 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-snb5/igt@gem_ctx_persistence@legacy-engines-persistence.html * igt@gem_ctx_shared@q-in-order: - shard-snb: NOTRUN -> [SKIP][6] ([fdo#109271]) +224 similar issues [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-snb5/igt@gem_ctx_shared@q-in-order.html * igt@gem_eio@unwedge-stress: - shard-skl: [PASS][7] -> [TIMEOUT][8] ([i915#2369] / [i915#3063]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-skl1/igt@gem_eio@unwedge-stress.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl5/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-deadline: - shard-skl: NOTRUN -> [FAIL][9] ([i915#2846]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl1/igt@gem_exec_fair@basic-deadline.html * igt@gem_exec_fair@basic-none-rrul@rcs0: - shard-tglb: NOTRUN -> [FAIL][10] ([i915#2842]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb2/igt@gem_exec_fair@basic-none-rrul@rcs0.html * igt@gem_exec_fair@basic-none-solo@rcs0: - shard-glk: [PASS][11] -> [FAIL][12] ([i915#2842]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-glk5/igt@gem_exec_fair@basic-none-solo@rcs0.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-glk1/igt@gem_exec_fair@basic-none-solo@rcs0.html * igt@gem_exec_fair@basic-pace@vcs0: - shard-kbl: [PASS][13] -> [FAIL][14] ([i915#2842]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-kbl6/igt@gem_exec_fair@basic-pace@vcs0.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl2/igt@gem_exec_fair@basic-pace@vcs0.html * igt@gem_exec_fair@basic-pace@vcs1: - shard-iclb: NOTRUN -> [FAIL][15] ([i915#2842]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-iclb2/igt@gem_exec_fair@basic-pace@vcs1.html - shard-tglb: [PASS][16] -> [FAIL][17] ([i915#2842]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-tglb5/igt@gem_exec_fair@basic-pace@vcs1.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb3/igt@gem_exec_fair@basic-pace@vcs1.html * igt@gem_exec_schedule@u-submit-golden-slice@vecs0: - shard-skl: NOTRUN -> [INCOMPLETE][18] ([i915#3797]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl8/igt@gem_exec_schedule@u-submit-golden-slice@vecs0.html * igt@gem_fenced_exec_thrash@2-spare-fences: - shard-snb: [PASS][19] -> [INCOMPLETE][20] ([i915#2055]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-snb5/igt@gem_fenced_exec_thrash@2-spare-fences.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-snb6/igt@gem_fenced_exec_thrash@2-spare-fences.html * igt@gem_huc_copy@huc-copy: - shard-tglb: [PASS][21] -> [SKIP][22] ([i915#2190]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-tglb3/igt@gem_huc_copy@huc-copy.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb6/igt@gem_huc_copy@huc-copy.html - shard-apl: NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#2190]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl2/igt@gem_huc_copy@huc-copy.html * igt@gem_pwrite@basic-exhaustion: - shard-apl: NOTRUN -> [WARN][24] ([i915#2658]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl2/igt@gem_pwrite@basic-exhaustion.html * igt@gem_pxp@reject-modify-context-protection-off-2: - shard-tglb: NOTRUN -> [SKIP][25] ([i915#4270]) +1 similar issue [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb5/igt@gem_pxp@reject-modify-context-protection-off-2.html * igt@gem_render_copy@x-tiled-to-vebox-yf-tiled: - shard-kbl: NOTRUN -> [SKIP][26] ([fdo#109271]) +100 similar issues [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl4/igt@gem_render_copy@x-tiled-to-vebox-yf-tiled.html * igt@gem_softpin@evict-snoop: - shard-tglb: NOTRUN -> [SKIP][27] ([fdo#109312]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@gem_softpin@evict-snoop.html * igt@gem_userptr_blits@input-checking: - shard-apl: NOTRUN -> [DMESG-WARN][28] ([i915#3002]) [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl8/igt@gem_userptr_blits@input-checking.html * igt@gem_userptr_blits@unsync-unmap-cycles: - shard-tglb: NOTRUN -> [SKIP][29] ([i915#3297]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb5/igt@gem_userptr_blits@unsync-unmap-cycles.html * igt@gen7_exec_parse@cmd-crossing-page: - shard-tglb: NOTRUN -> [SKIP][30] ([fdo#109289]) [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@gen7_exec_parse@cmd-crossing-page.html * igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait: - shard-tglb: NOTRUN -> [SKIP][31] ([fdo#111644] / [i915#1397] / [i915#2411]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html * igt@i915_query@query-topology-unsupported: - shard-tglb: NOTRUN -> [SKIP][32] ([fdo#109302]) [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb2/igt@i915_query@query-topology-unsupported.html * igt@kms_big_fb@linear-8bpp-rotate-90: - shard-tglb: NOTRUN -> [SKIP][33] ([fdo#111614]) +1 similar issue [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb5/igt@kms_big_fb@linear-8bpp-rotate-90.html * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip: - shard-skl: NOTRUN -> [FAIL][34] ([i915#3722]) +3 similar issues [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl9/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip: - shard-apl: NOTRUN -> [SKIP][35] ([fdo#109271] / [i915#3777]) +1 similar issue [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl2/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip.html * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip: - shard-skl: NOTRUN -> [SKIP][36] ([fdo#109271] / [i915#3777]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl9/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip.html * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip: - shard-tglb: NOTRUN -> [SKIP][37] ([fdo#111615]) +1 similar issue [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb2/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc: - shard-kbl: NOTRUN -> [SKIP][38] ([fdo#109271] / [i915#3886]) +3 similar issues [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl2/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc: - shard-apl: NOTRUN -> [SKIP][39] ([fdo#109271] / [i915#3886]) +12 similar issues [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl6/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html * igt@kms_ccs@pipe-b-crc-primary-basic-y_tiled_gen12_mc_ccs: - shard-skl: NOTRUN -> [SKIP][40] ([fdo#109271] / [i915#3886]) [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl5/igt@kms_ccs@pipe-b-crc-primary-basic-y_tiled_gen12_mc_ccs.html * igt@kms_ccs@pipe-d-bad-aux-stride-y_tiled_ccs: - shard-tglb: NOTRUN -> [SKIP][41] ([i915#3689]) +2 similar issues [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@kms_ccs@pipe-d-bad-aux-stride-y_tiled_ccs.html * igt@kms_chamelium@dp-crc-multiple: - shard-tglb: NOTRUN -> [SKIP][42] ([fdo#109284] / [fdo#111827]) +3 similar issues [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb2/igt@kms_chamelium@dp-crc-multiple.html * igt@kms_chamelium@hdmi-crc-fast: - shard-apl: NOTRUN -> [SKIP][43] ([fdo#109271] / [fdo#111827]) +15 similar issues [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl8/igt@kms_chamelium@hdmi-crc-fast.html * igt@kms_chamelium@hdmi-hpd-with-enabled-mode: - shard-snb: NOTRUN -> [SKIP][44] ([fdo#109271] / [fdo#111827]) +9 similar issues [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-snb5/igt@kms_chamelium@hdmi-hpd-with-enabled-mode.html * igt@kms_color_chamelium@pipe-b-degamma: - shard-kbl: NOTRUN -> [SKIP][45] ([fdo#109271] / [fdo#111827]) +6 similar issues [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl6/igt@kms_color_chamelium@pipe-b-degamma.html * igt@kms_color_chamelium@pipe-d-ctm-0-25: - shard-skl: NOTRUN -> [SKIP][46] ([fdo#109271] / [fdo#111827]) +5 similar issues [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl5/igt@kms_color_chamelium@pipe-d-ctm-0-25.html * igt@kms_concurrent@pipe-d: - shard-tglb: NOTRUN -> [FAIL][47] ([i915#1385]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb2/igt@kms_concurrent@pipe-d.html * igt@kms_content_protection@atomic-dpms: - shard-apl: NOTRUN -> [TIMEOUT][48] ([i915#1319]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl2/igt@kms_content_protection@atomic-dpms.html * igt@kms_content_protection@srm: - shard-tglb: NOTRUN -> [SKIP][49] ([fdo#111828]) +1 similar issue [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb5/igt@kms_content_protection@srm.html * igt@kms_cursor_crc@pipe-a-cursor-32x10-onscreen: - shard-tglb: NOTRUN -> [SKIP][50] ([i915#3359]) +1 similar issue [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@kms_cursor_crc@pipe-a-cursor-32x10-onscreen.html * igt@kms_cursor_crc@pipe-a-cursor-512x512-onscreen: - shard-tglb: NOTRUN -> [SKIP][51] ([fdo#109279] / [i915#3359]) +2 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@kms_cursor_crc@pipe-a-cursor-512x512-onscreen.html * igt@kms_cursor_crc@pipe-c-cursor-32x32-sliding: - shard-tglb: NOTRUN -> [SKIP][52] ([i915#3319]) [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@kms_cursor_crc@pipe-c-cursor-32x32-sliding.html * igt@kms_cursor_crc@pipe-c-cursor-suspend: - shard-apl: NOTRUN -> [DMESG-WARN][53] ([i915#180]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl8/igt@kms_cursor_crc@pipe-c-cursor-suspend.html - shard-tglb: [PASS][54] -> [INCOMPLETE][55] ([i915#456]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-tglb3/igt@kms_cursor_crc@pipe-c-cursor-suspend.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - shard-tglb: NOTRUN -> [SKIP][56] ([i915#4103]) [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_cursor_legacy@pipe-d-torture-bo: - shard-apl: NOTRUN -> [SKIP][57] ([fdo#109271] / [i915#533]) +2 similar issues [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl2/igt@kms_cursor_legacy@pipe-d-torture-bo.html * igt@kms_cursor_legacy@pipe-d-torture-move: - shard-skl: NOTRUN -> [SKIP][58] ([fdo#109271]) +62 similar issues [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl5/igt@kms_cursor_legacy@pipe-d-torture-move.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-kbl: [PASS][59] -> [INCOMPLETE][60] ([i915#180] / [i915#636]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-kbl4/igt@kms_fbcon_fbt@fbc-suspend.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl1/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2: - shard-glk: [PASS][61] -> [FAIL][62] ([i915#2122]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-glk1/igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-glk7/igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2.html * igt@kms_flip@flip-vs-expired-vblank@b-edp1: - shard-skl: [PASS][63] -> [FAIL][64] ([i915#79]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-skl1/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl5/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html * igt@kms_flip@flip-vs-suspend-interruptible@a-dp1: - shard-apl: [PASS][65] -> [DMESG-WARN][66] ([i915#180]) +1 similar issue [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible@a-dp1.html * igt@kms_flip@plain-flip-ts-check@c-edp1: - shard-skl: [PASS][67] -> [FAIL][68] ([i915#2122]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-skl2/igt@kms_flip@plain-flip-ts-check@c-edp1.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl3/igt@kms_flip@plain-flip-ts-check@c-edp1.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs: - shard-apl: NOTRUN -> [SKIP][69] ([fdo#109271] / [i915#2672]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs.html * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile: - shard-iclb: [PASS][70] -> [SKIP][71] ([i915#3701]) [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-iclb5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff: - shard-tglb: NOTRUN -> [SKIP][72] ([fdo#111825]) +18 similar issues [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff.html * igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d: - shard-skl: NOTRUN -> [SKIP][73] ([fdo#109271] / [i915#533]) [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl1/igt@kms_pipe_crc_basic@disable-crc-after-crtc-pipe-d.html * igt@kms_plane_alpha_blend@pipe-a-alpha-basic: - shard-apl: NOTRUN -> [FAIL][74] ([fdo#108145] / [i915#265]) +4 similar issues [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl8/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min: - shard-skl: NOTRUN -> [FAIL][75] ([fdo#108145] / [i915#265]) [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl1/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html * igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb: - shard-apl: NOTRUN -> [FAIL][76] ([i915#265]) +1 similar issue [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl6/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html - shard-kbl: NOTRUN -> [FAIL][77] ([i915#265]) +1 similar issue [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl6/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html * igt@kms_plane_multiple@atomic-pipe-b-tiling-yf: - shard-tglb: NOTRUN -> [SKIP][78] ([fdo#112054]) [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@kms_plane_multiple@atomic-pipe-b-tiling-yf.html * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4: - shard-tglb: NOTRUN -> [SKIP][79] ([i915#2920]) [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area-4.html * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-2: - shard-kbl: NOTRUN -> [SKIP][80] ([fdo#109271] / [i915#658]) [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl6/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-2.html * igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4: - shard-apl: NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#658]) +6 similar issues [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl3/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html - shard-iclb: NOTRUN -> [SKIP][82] ([i915#658]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-iclb3/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area-4.html * igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1: - shard-skl: NOTRUN -> [SKIP][83] ([fdo#109271] / [i915#658]) +1 similar issue [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl5/igt@kms_psr2_sf@primary-plane-update-sf-dmg-area-1.html * igt@kms_psr@psr2_primary_blt: - shard-tglb: NOTRUN -> [FAIL][84] ([i915#132] / [i915#3467]) +1 similar issue [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb2/igt@kms_psr@psr2_primary_blt.html * igt@kms_psr@psr2_sprite_mmap_gtt: - shard-iclb: [PASS][85] -> [SKIP][86] ([fdo#109441]) +1 similar issue [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-iclb5/igt@kms_psr@psr2_sprite_mmap_gtt.html * igt@kms_vblank@pipe-a-ts-continuation-suspend: - shard-kbl: [PASS][87] -> [DMESG-WARN][88] ([i915#180] / [i915#295]) [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-kbl2/igt@kms_vblank@pipe-a-ts-continuation-suspend.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl1/igt@kms_vblank@pipe-a-ts-continuation-suspend.html * igt@kms_writeback@writeback-pixel-formats: - shard-apl: NOTRUN -> [SKIP][89] ([fdo#109271] / [i915#2437]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl2/igt@kms_writeback@writeback-pixel-formats.html * igt@nouveau_crc@pipe-b-ctx-flip-skip-current-frame: - shard-apl: NOTRUN -> [SKIP][90] ([fdo#109271]) +230 similar issues [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl8/igt@nouveau_crc@pipe-b-ctx-flip-skip-current-frame.html * igt@nouveau_crc@pipe-d-source-outp-inactive: - shard-tglb: NOTRUN -> [SKIP][91] ([i915#2530]) +3 similar issues [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@nouveau_crc@pipe-d-source-outp-inactive.html * igt@prime_nv_pcopy@test_semaphore: - shard-tglb: NOTRUN -> [SKIP][92] ([fdo#109291]) [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@prime_nv_pcopy@test_semaphore.html * igt@sysfs_clients@busy: - shard-skl: NOTRUN -> [SKIP][93] ([fdo#109271] / [i915#2994]) [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl1/igt@sysfs_clients@busy.html * igt@sysfs_clients@fair-7: - shard-apl: NOTRUN -> [SKIP][94] ([fdo#109271] / [i915#2994]) +1 similar issue [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl2/igt@sysfs_clients@fair-7.html #### Possible fixes #### * igt@feature_discovery@psr2: - shard-iclb: [SKIP][95] ([i915#658]) -> [PASS][96] [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-iclb7/igt@feature_discovery@psr2.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-iclb2/igt@feature_discovery@psr2.html * igt@gem_eio@unwedge-stress: - shard-tglb: [TIMEOUT][97] ([i915#2369] / [i915#3063] / [i915#3648]) -> [PASS][98] [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-tglb3/igt@gem_eio@unwedge-stress.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb7/igt@gem_eio@unwedge-stress.html * igt@gem_exec_fair@basic-none-rrul@rcs0: - shard-glk: [FAIL][99] ([i915#2842]) -> [PASS][100] [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-glk2/igt@gem_exec_fair@basic-none-rrul@rcs0.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-glk5/igt@gem_exec_fair@basic-none-rrul@rcs0.html * igt@gem_exec_fair@basic-none@vecs0: - shard-kbl: [FAIL][101] ([i915#2842]) -> [PASS][102] [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-kbl3/igt@gem_exec_fair@basic-none@vecs0.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-kbl4/igt@gem_exec_fair@basic-none@vecs0.html * igt@gem_exec_fair@basic-pace@bcs0: - shard-tglb: [FAIL][103] ([i915#2842]) -> [PASS][104] [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-tglb5/igt@gem_exec_fair@basic-pace@bcs0.html [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb3/igt@gem_exec_fair@basic-pace@bcs0.html - shard-iclb: [FAIL][105] ([i915#2842]) -> [PASS][106] [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-iclb7/igt@gem_exec_fair@basic-pace@bcs0.html [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-iclb2/igt@gem_exec_fair@basic-pace@bcs0.html * igt@gem_exec_fair@basic-throttle@rcs0: - shard-iclb: [FAIL][107] ([i915#2849]) -> [PASS][108] [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-iclb8/igt@gem_exec_fair@basic-throttle@rcs0.html [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-iclb7/igt@gem_exec_fair@basic-throttle@rcs0.html * igt@gen9_exec_parse@allowed-single: - shard-skl: [DMESG-WARN][109] ([i915#1436] / [i915#716]) -> [PASS][110] [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-skl7/igt@gen9_exec_parse@allowed-single.html [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl1/igt@gen9_exec_parse@allowed-single.html * igt@i915_pm_dc@dc9-dpms: - shard-iclb: [FAIL][111] ([i915#4275]) -> [PASS][112] [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-iclb2/igt@i915_pm_dc@dc9-dpms.html [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-iclb4/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_rpm@system-suspend-modeset: - shard-skl: [INCOMPLETE][113] ([i915#151]) -> [PASS][114] [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-skl1/igt@i915_pm_rpm@system-suspend-modeset.html [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl5/igt@i915_pm_rpm@system-suspend-modeset.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-tglb: [INCOMPLETE][115] ([i915#456] / [i915#750]) -> [PASS][116] [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-tglb1/igt@i915_suspend@fence-restore-tiled2untiled.html [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb5/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@i915_suspend@fence-restore-untiled: - shard-tglb: [INCOMPLETE][117] ([i915#456]) -> [PASS][118] [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-tglb7/igt@i915_suspend@fence-restore-untiled.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb1/igt@i915_suspend@fence-restore-untiled.html * igt@kms_async_flips@alternate-sync-async-flip: - shard-skl: [FAIL][119] ([i915#2521]) -> [PASS][120] [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-skl5/igt@kms_async_flips@alternate-sync-async-flip.html [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl1/igt@kms_async_flips@alternate-sync-async-flip.html * igt@kms_big_fb@linear-32bpp-rotate-0: - shard-glk: [DMESG-WARN][121] ([i915#118]) -> [PASS][122] +1 similar issue [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-glk1/igt@kms_big_fb@linear-32bpp-rotate-0.html [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-glk7/igt@kms_big_fb@linear-32bpp-rotate-0.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-skl: [FAIL][123] ([i915#2346] / [i915#533]) -> [PASS][124] [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-skl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1: - shard-skl: [FAIL][125] ([i915#79]) -> [PASS][126] [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-skl4/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl1/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html * igt@kms_flip@flip-vs-suspend-interruptible@c-dp1: - shard-apl: [DMESG-WARN][127] ([i915#180]) -> [PASS][128] +2 similar issues [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html * igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1: - shard-skl: [FAIL][129] ([i915#2122]) -> [PASS][130] +1 similar issue [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-skl3/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl8/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile: - shard-iclb: [SKIP][131] ([i915#3701]) -> [PASS][132] [131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-iclb2/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile.html [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-iclb3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile.html * igt@kms_frontbuffer_tracking@psr-suspend: - shard-tglb: [INCOMPLETE][133] ([i915#2411] / [i915#456]) -> [PASS][134] +1 similar issue [133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-tglb7/igt@kms_frontbuffer_tracking@psr-suspend.html [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-tglb5/igt@kms_frontbuffer_tracking@psr-suspend.html - shard-skl: [INCOMPLETE][135] ([i915#123]) -> [PASS][136] [135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-skl7/igt@kms_frontbuffer_tracking@psr-suspend.html [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/shard-skl9/igt@kms_frontbuffer_tracking@psr-suspend.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a: - shard-kbl: [DMESG-WARN][137] ([i915#180]) -> [PASS][138] +4 similar issues [137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_10728/shard-kbl7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html [138]: http == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_21327/index.html [-- Attachment #2: Type: text/html, Size: 33531 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-10-13 15:51 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-10-13 10:11 [Intel-gfx] [PATCH 0/1] drm/i915: vlv sideband Jani Nikula 2021-10-13 10:11 ` [Intel-gfx] [PATCH 1/1] drm/i915: split out vlv sideband to a separate file Jani Nikula 2021-10-13 11:55 ` Hans de Goede 2021-10-13 15:51 ` Lucas De Marchi 2021-10-13 10:28 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: vlv sideband Patchwork 2021-10-13 10:38 ` [Intel-gfx] [PATCH 0/1] " Ville Syrjälä 2021-10-13 10:47 ` Jani Nikula 2021-10-13 10:59 ` Ville Syrjälä 2021-10-13 15:47 ` Lucas De Marchi 2021-10-13 10:57 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork 2021-10-13 13:13 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox