* [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block @ 2020-01-03 0:00 Vivek Kasireddy 2020-01-03 0:52 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork ` (9 more replies) 0 siblings, 10 replies; 22+ messages in thread From: Vivek Kasireddy @ 2020-01-03 0:00 UTC (permalink / raw) To: intel-gfx; +Cc: Deepak M Parsing the i2c element is mainly done to transfer the payload from the MIPI sequence block to the relevant slave device. In some cases, the commands that are part of the payload can be used to turn on the backlight. This patch is actually a refactored version of this old patch: https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html In addition to the refactoring, the old patch is augmented by looking up the i2c bus from ACPI NS instead of relying on the bus number provided in the VBT. Cc: Deepak M <m.deepak@intel.com> Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Bob Paauwe <bob.j.paauwe@intel.com> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> --- drivers/gpu/drm/i915/display/intel_dsi.h | 3 + drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 93 ++++++++++++++++++++ 2 files changed, 96 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h index b15be5814599..5651bc8aa5c2 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi.h +++ b/drivers/gpu/drm/i915/display/intel_dsi.h @@ -68,6 +68,9 @@ struct intel_dsi { /* number of DSI lanes */ unsigned int lane_count; + /* i2c bus associated with the slave device */ + int i2c_bus_num; + /* * video mode pixel format * diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c index f90946c912ee..60441a5a3dba 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -83,6 +83,12 @@ static struct gpio_map vlv_gpio_table[] = { { VLV_GPIO_NC_11_PANEL1_BKLTCTL }, }; +struct i2c_adapter_lookup { + u16 slave_addr; + struct intel_dsi *intel_dsi; + acpi_handle dev_handle; +}; + #define CHV_GPIO_IDX_START_N 0 #define CHV_GPIO_IDX_START_E 73 #define CHV_GPIO_IDX_START_SW 100 @@ -375,8 +381,93 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data) return data; } +static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) +{ + struct i2c_adapter_lookup *lookup = data; + struct intel_dsi *intel_dsi = lookup->intel_dsi; + struct acpi_resource_i2c_serialbus *sb; + struct i2c_adapter *adapter; + acpi_handle adapter_handle; + acpi_status status; + + if (intel_dsi->i2c_bus_num >= 0 || + !i2c_acpi_get_i2c_resource(ares, &sb)) + return 1; + + if (lookup->slave_addr != sb->slave_address) + return 1; + + status = acpi_get_handle(lookup->dev_handle, + sb->resource_source.string_ptr, + &adapter_handle); + if (ACPI_FAILURE(status)) + return 1; + + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); + if (adapter) + intel_dsi->i2c_bus_num = adapter->nr; + + return 1; +} + static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) { + struct drm_device *dev = intel_dsi->base.base.dev; + struct i2c_adapter *adapter; + struct acpi_device *acpi_dev; + struct list_head resource_list; + struct i2c_adapter_lookup lookup; + struct i2c_msg msg; + int ret; + u8 vbt_i2c_bus_num = *(data + 2); + u16 slave_addr = *(u16 *)(data + 3); + u8 reg_offset = *(data + 5); + u8 payload_size = *(data + 6); + u8 *payload_data; + + if (intel_dsi->i2c_bus_num < 0) { + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; + + acpi_dev = ACPI_COMPANION(&dev->pdev->dev); + if (acpi_dev) { + memset(&lookup, 0, sizeof(lookup)); + lookup.slave_addr = slave_addr; + lookup.intel_dsi = intel_dsi; + lookup.dev_handle = acpi_device_handle(acpi_dev); + + INIT_LIST_HEAD(&resource_list); + acpi_dev_get_resources(acpi_dev, &resource_list, + i2c_adapter_lookup, + &lookup); + acpi_dev_free_resource_list(&resource_list); + } + } + + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); + if (!adapter) + goto out; + + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); + if (!payload_data) + goto out; + + payload_data[0] = reg_offset; + memcpy(&payload_data[1], (data + 7), payload_size); + + msg.addr = slave_addr; + msg.flags = 0; + msg.len = payload_size + 1; + msg.buf = payload_data; + + ret = i2c_transfer(adapter, &msg, 1); + if (ret < 0) + DRM_ERROR("i2c transfer failed"); + + kfree(payload_data); + i2c_put_adapter(adapter); + + return data + payload_size + 7; +out: DRM_DEBUG_KMS("Skipping I2C element execution\n"); return data + *(data + 6) + 7; @@ -664,6 +755,8 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) intel_dsi->panel_off_delay = pps->panel_off_delay / 10; intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10; + intel_dsi->i2c_bus_num = -1; + /* a regular driver would get the device in probe */ for_each_dsi_port(port, intel_dsi->ports) { mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 22+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy @ 2020-01-03 0:52 ` Patchwork 2020-01-03 11:05 ` [Intel-gfx] [PATCH] " Hans de Goede ` (8 subsequent siblings) 9 siblings, 0 replies; 22+ messages in thread From: Patchwork @ 2020-01-03 0:52 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: intel-gfx == Series Details == Series: drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block URL : https://patchwork.freedesktop.org/series/71581/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7668 -> Patchwork_15983 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_15983 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_15983, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_15983: ### IGT changes ### #### Possible regressions #### * igt@i915_selftest@live_gt_pm: - fi-kbl-7500u: [PASS][1] -> [DMESG-WARN][2] +23 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-kbl-7500u/igt@i915_selftest@live_gt_pm.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-kbl-7500u/igt@i915_selftest@live_gt_pm.html * igt@i915_selftest@live_uncore: - fi-kbl-7500u: [PASS][3] -> [DMESG-FAIL][4] +7 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-kbl-7500u/igt@i915_selftest@live_uncore.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-kbl-7500u/igt@i915_selftest@live_uncore.html Known issues ------------ Here are the changes found in Patchwork_15983 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_module_load@reload-with-fault-injection: - fi-cfl-8700k: [PASS][5] -> [INCOMPLETE][6] ([i915#505]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-cfl-8700k/igt@i915_module_load@reload-with-fault-injection.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-cfl-8700k/igt@i915_module_load@reload-with-fault-injection.html - fi-skl-lmem: [PASS][7] -> [INCOMPLETE][8] ([i915#671]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-skl-lmem/igt@i915_module_load@reload-with-fault-injection.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-skl-lmem/igt@i915_module_load@reload-with-fault-injection.html * igt@i915_selftest@live_blt: - fi-hsw-4770r: [PASS][9] -> [DMESG-FAIL][10] ([i915#553] / [i915#725]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-hsw-4770r/igt@i915_selftest@live_blt.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-hsw-4770r/igt@i915_selftest@live_blt.html * igt@i915_selftest@live_gem_contexts: - fi-byt-j1900: [PASS][11] -> [DMESG-FAIL][12] ([i915#722]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-byt-j1900/igt@i915_selftest@live_gem_contexts.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-byt-j1900/igt@i915_selftest@live_gem_contexts.html #### Possible fixes #### * igt@i915_selftest@live_active: - fi-kbl-r: [DMESG-FAIL][13] -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-kbl-r/igt@i915_selftest@live_active.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-kbl-r/igt@i915_selftest@live_active.html * igt@i915_selftest@live_blt: - fi-byt-j1900: [DMESG-FAIL][15] ([i915#725]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-byt-j1900/igt@i915_selftest@live_blt.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-byt-j1900/igt@i915_selftest@live_blt.html * igt@i915_selftest@live_gem: - fi-bdw-5557u: [FAIL][17] -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-bdw-5557u/igt@i915_selftest@live_gem.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-bdw-5557u/igt@i915_selftest@live_gem.html * igt@kms_chamelium@hdmi-crc-fast: - fi-icl-u2: [FAIL][19] ([fdo#109635]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-icl-u2/igt@kms_chamelium@hdmi-crc-fast.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-icl-u2/igt@kms_chamelium@hdmi-crc-fast.html #### Warnings #### * igt@i915_selftest@live_blt: - fi-hsw-4770: [DMESG-FAIL][21] ([i915#553] / [i915#725]) -> [DMESG-FAIL][22] ([i915#725]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7668/fi-hsw-4770/igt@i915_selftest@live_blt.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/fi-hsw-4770/igt@i915_selftest@live_blt.html [fdo#109635]: https://bugs.freedesktop.org/show_bug.cgi?id=109635 [i915#505]: https://gitlab.freedesktop.org/drm/intel/issues/505 [i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553 [i915#671]: https://gitlab.freedesktop.org/drm/intel/issues/671 [i915#722]: https://gitlab.freedesktop.org/drm/intel/issues/722 [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725 Participating hosts (48 -> 45) ------------------------------ Additional (6): fi-skl-guc fi-bwr-2160 fi-cfl-8109u fi-kbl-8809g fi-bsw-kefka fi-kbl-7560u Missing (9): fi-ilk-m540 fi-hsw-4200u fi-hsw-peppy fi-bsw-cyan fi-ctg-p8600 fi-blb-e6850 fi-byt-clapper fi-bsw-nick fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7668 -> Patchwork_15983 CI-20190529: 20190529 CI_DRM_7668: e63e1b81764ac9d3edbf178821a6cbbc8d7eab9d @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5357: a555a4b98f90dab655d24bb3d07e9291a8b8dac8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_15983: 0dfa4d1be7d2eb1cdd22b358ea67d9727003beaf @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 0dfa4d1be7d2 drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15983/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy 2020-01-03 0:52 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork @ 2020-01-03 11:05 ` Hans de Goede 2020-01-04 0:00 ` Vivek Kasireddy 2020-01-04 1:09 ` [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v2) Vivek Kasireddy 2020-01-04 1:22 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev2) Patchwork ` (7 subsequent siblings) 9 siblings, 2 replies; 22+ messages in thread From: Hans de Goede @ 2020-01-03 11:05 UTC (permalink / raw) To: Vivek Kasireddy, intel-gfx; +Cc: Deepak M Hi Vivek, On 03-01-2020 01:00, Vivek Kasireddy wrote: > Parsing the i2c element is mainly done to transfer the payload from the > MIPI sequence block to the relevant slave device. In some cases, the > commands that are part of the payload can be used to turn on the backlight. > > This patch is actually a refactored version of this old patch: > https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html > > In addition to the refactoring, the old patch is augmented by looking up > the i2c bus from ACPI NS instead of relying on the bus number provided > in the VBT. > > Cc: Deepak M <m.deepak@intel.com> > Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> > Cc: Matt Roper <matthew.d.roper@intel.com> > Cc: Bob Paauwe <bob.j.paauwe@intel.com> > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> Thank you for this patch, I have been doing a lot of work to make DSI panels on Bay Trail and Cherry Trail devices work better, as such I've done a lot of testing of DSI panels. But I have never seen any MIPI sequences actually use the i2c commands. May I ask how you have tested this? Do you have a device which actually uses the i2c commands? I also have some small review comments inline: > --- > drivers/gpu/drm/i915/display/intel_dsi.h | 3 + > drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 93 ++++++++++++++++++++ > 2 files changed, 96 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h > index b15be5814599..5651bc8aa5c2 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi.h > +++ b/drivers/gpu/drm/i915/display/intel_dsi.h > @@ -68,6 +68,9 @@ struct intel_dsi { > /* number of DSI lanes */ > unsigned int lane_count; > > + /* i2c bus associated with the slave device */ > + int i2c_bus_num; > + > /* > * video mode pixel format > * > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > index f90946c912ee..60441a5a3dba 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > @@ -83,6 +83,12 @@ static struct gpio_map vlv_gpio_table[] = { > { VLV_GPIO_NC_11_PANEL1_BKLTCTL }, > }; > > +struct i2c_adapter_lookup { > + u16 slave_addr; > + struct intel_dsi *intel_dsi; > + acpi_handle dev_handle; > +}; > + > #define CHV_GPIO_IDX_START_N 0 > #define CHV_GPIO_IDX_START_E 73 > #define CHV_GPIO_IDX_START_SW 100 > @@ -375,8 +381,93 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data) > return data; > } > > +static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) > +{ > + struct i2c_adapter_lookup *lookup = data; > + struct intel_dsi *intel_dsi = lookup->intel_dsi; > + struct acpi_resource_i2c_serialbus *sb; > + struct i2c_adapter *adapter; > + acpi_handle adapter_handle; > + acpi_status status; > + > + if (intel_dsi->i2c_bus_num >= 0 || > + !i2c_acpi_get_i2c_resource(ares, &sb)) > + return 1; > + > + if (lookup->slave_addr != sb->slave_address) > + return 1; > + > + status = acpi_get_handle(lookup->dev_handle, > + sb->resource_source.string_ptr, > + &adapter_handle); > + if (ACPI_FAILURE(status)) > + return 1; > + > + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); > + if (adapter) > + intel_dsi->i2c_bus_num = adapter->nr; > + > + return 1; > +} > + > static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) > { > + struct drm_device *dev = intel_dsi->base.base.dev; > + struct i2c_adapter *adapter; > + struct acpi_device *acpi_dev; > + struct list_head resource_list; > + struct i2c_adapter_lookup lookup; > + struct i2c_msg msg; > + int ret; > + u8 vbt_i2c_bus_num = *(data + 2); > + u16 slave_addr = *(u16 *)(data + 3); > + u8 reg_offset = *(data + 5); > + u8 payload_size = *(data + 6); > + u8 *payload_data; > + > + if (intel_dsi->i2c_bus_num < 0) { > + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; > + > + acpi_dev = ACPI_COMPANION(&dev->pdev->dev); > + if (acpi_dev) { > + memset(&lookup, 0, sizeof(lookup)); > + lookup.slave_addr = slave_addr; > + lookup.intel_dsi = intel_dsi; > + lookup.dev_handle = acpi_device_handle(acpi_dev); > + > + INIT_LIST_HEAD(&resource_list); > + acpi_dev_get_resources(acpi_dev, &resource_list, > + i2c_adapter_lookup, > + &lookup); > + acpi_dev_free_resource_list(&resource_list); > + } > + } > + > + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); > + if (!adapter) > + goto out; This should never happen, so you should put a DRM_DEV_WARN here. > + > + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); > + if (!payload_data) > + goto out; > + > + payload_data[0] = reg_offset; > + memcpy(&payload_data[1], (data + 7), payload_size); > + > + msg.addr = slave_addr; > + msg.flags = 0; > + msg.len = payload_size + 1; > + msg.buf = payload_data; > + > + ret = i2c_transfer(adapter, &msg, 1); > + if (ret < 0) > + DRM_ERROR("i2c transfer failed"); DRM_DEV_ERROR? And maybe some more info, like the register which the transfer is going to + payload size? > + > + kfree(payload_data); > + i2c_put_adapter(adapter); > + Just put out here, no need for the DRM_DEBUG (which should no longer be a debug now that we implement this) below, since we WARN or ERROR on all goto out; statements above. out: > + return data + payload_size + 7; And drop these 3 lines: > +out: > DRM_DEBUG_KMS("Skipping I2C element execution\n"); > > return data + *(data + 6) + 7; > @@ -664,6 +755,8 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) > intel_dsi->panel_off_delay = pps->panel_off_delay / 10; > intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10; > > + intel_dsi->i2c_bus_num = -1; > + > /* a regular driver would get the device in probe */ > for_each_dsi_port(port, intel_dsi->ports) { > mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); > Regards, Hans _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block 2020-01-03 11:05 ` [Intel-gfx] [PATCH] " Hans de Goede @ 2020-01-04 0:00 ` Vivek Kasireddy 2020-01-04 16:44 ` Hans de Goede 2020-01-07 16:49 ` Ville Syrjälä 2020-01-04 1:09 ` [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v2) Vivek Kasireddy 1 sibling, 2 replies; 22+ messages in thread From: Vivek Kasireddy @ 2020-01-04 0:00 UTC (permalink / raw) To: Hans de Goede; +Cc: Deepak M, intel-gfx On Fri, 3 Jan 2020 12:05:11 +0100 Hans de Goede <hdegoede@redhat.com> wrote: Hi Hans, > Hi Vivek, > > On 03-01-2020 01:00, Vivek Kasireddy wrote: > > Parsing the i2c element is mainly done to transfer the payload from > > the MIPI sequence block to the relevant slave device. In some > > cases, the commands that are part of the payload can be used to > > turn on the backlight. > > > > This patch is actually a refactored version of this old patch: > > https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html > > > > In addition to the refactoring, the old patch is augmented by > > looking up the i2c bus from ACPI NS instead of relying on the bus > > number provided in the VBT. > > > > Cc: Deepak M <m.deepak@intel.com> > > Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> > > Cc: Matt Roper <matthew.d.roper@intel.com> > > Cc: Bob Paauwe <bob.j.paauwe@intel.com> > > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> > > Thank you for this patch, I have been doing a lot of work to make > DSI panels on Bay Trail and Cherry Trail devices work better, as such > I've done a lot of testing of DSI panels. But I have never seen any > MIPI sequences actually use the i2c commands. May I ask how you have > tested this? Do you have a device which actually uses the i2c > commands? Oh, they sure exist; we do have a device that uses i2c commands to turn on the backlight that we have tested this patch on. > > I also have some small review comments inline: > > > --- > > drivers/gpu/drm/i915/display/intel_dsi.h | 3 + > > drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 93 > > ++++++++++++++++++++ 2 files changed, 96 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h > > b/drivers/gpu/drm/i915/display/intel_dsi.h index > > b15be5814599..5651bc8aa5c2 100644 --- > > a/drivers/gpu/drm/i915/display/intel_dsi.h +++ > > b/drivers/gpu/drm/i915/display/intel_dsi.h @@ -68,6 +68,9 @@ struct > > intel_dsi { /* number of DSI lanes */ > > unsigned int lane_count; > > > > + /* i2c bus associated with the slave device */ > > + int i2c_bus_num; > > + > > /* > > * video mode pixel format > > * > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > > b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c index > > f90946c912ee..60441a5a3dba 100644 --- > > a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ > > b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -83,6 +83,12 @@ > > static struct gpio_map vlv_gpio_table[] = { { > > VLV_GPIO_NC_11_PANEL1_BKLTCTL }, }; > > > > +struct i2c_adapter_lookup { > > + u16 slave_addr; > > + struct intel_dsi *intel_dsi; > > + acpi_handle dev_handle; > > +}; > > + > > #define CHV_GPIO_IDX_START_N 0 > > #define CHV_GPIO_IDX_START_E 73 > > #define CHV_GPIO_IDX_START_SW 100 > > @@ -375,8 +381,93 @@ static const u8 *mipi_exec_gpio(struct > > intel_dsi *intel_dsi, const u8 *data) return data; > > } > > > > +static int i2c_adapter_lookup(struct acpi_resource *ares, void > > *data) +{ > > + struct i2c_adapter_lookup *lookup = data; > > + struct intel_dsi *intel_dsi = lookup->intel_dsi; > > + struct acpi_resource_i2c_serialbus *sb; > > + struct i2c_adapter *adapter; > > + acpi_handle adapter_handle; > > + acpi_status status; > > + > > + if (intel_dsi->i2c_bus_num >= 0 || > > + !i2c_acpi_get_i2c_resource(ares, &sb)) > > + return 1; > > + > > + if (lookup->slave_addr != sb->slave_address) > > + return 1; > > + > > + status = acpi_get_handle(lookup->dev_handle, > > + sb->resource_source.string_ptr, > > + &adapter_handle); > > + if (ACPI_FAILURE(status)) > > + return 1; > > + > > + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); > > + if (adapter) > > + intel_dsi->i2c_bus_num = adapter->nr; > > + > > + return 1; > > +} > > + > > static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const > > u8 *data) { > > + struct drm_device *dev = intel_dsi->base.base.dev; > > + struct i2c_adapter *adapter; > > + struct acpi_device *acpi_dev; > > + struct list_head resource_list; > > + struct i2c_adapter_lookup lookup; > > + struct i2c_msg msg; > > + int ret; > > + u8 vbt_i2c_bus_num = *(data + 2); > > + u16 slave_addr = *(u16 *)(data + 3); > > + u8 reg_offset = *(data + 5); > > + u8 payload_size = *(data + 6); > > + u8 *payload_data; > > + > > + if (intel_dsi->i2c_bus_num < 0) { > > + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; > > + > > + acpi_dev = ACPI_COMPANION(&dev->pdev->dev); > > + if (acpi_dev) { > > + memset(&lookup, 0, sizeof(lookup)); > > + lookup.slave_addr = slave_addr; > > + lookup.intel_dsi = intel_dsi; > > + lookup.dev_handle = > > acpi_device_handle(acpi_dev); + > > + INIT_LIST_HEAD(&resource_list); > > + acpi_dev_get_resources(acpi_dev, > > &resource_list, > > + i2c_adapter_lookup, > > + &lookup); > > + > > acpi_dev_free_resource_list(&resource_list); > > + } > > + } > > + > > + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); > > + if (!adapter) > > + goto out; > > This should never happen, so you should put a DRM_DEV_WARN here. Ok, will do. > > > + > > + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); > > + if (!payload_data) > > + goto out; > > + > > + payload_data[0] = reg_offset; > > + memcpy(&payload_data[1], (data + 7), payload_size); > > + > > + msg.addr = slave_addr; > > + msg.flags = 0; > > + msg.len = payload_size + 1; > > + msg.buf = payload_data; > > + > > + ret = i2c_transfer(adapter, &msg, 1); > > + if (ret < 0) > > + DRM_ERROR("i2c transfer failed"); > > DRM_DEV_ERROR? And maybe some more info, like the register which > the transfer is going to + payload size? Ok, adding extra info makes sense. > > > + > > + kfree(payload_data); > > + i2c_put_adapter(adapter); > > + > > Just put out here, no need for the DRM_DEBUG (which should no > longer be a debug now that we implement this) below, since we > WARN or ERROR on all goto out; statements above. Ok, will do. Thanks, Vivek > > out: > > > + return data + payload_size + 7; > > And drop these 3 lines: > > > +out: > > DRM_DEBUG_KMS("Skipping I2C element execution\n"); > > > > return data + *(data + 6) + 7; > > > > > @@ -664,6 +755,8 @@ bool intel_dsi_vbt_init(struct intel_dsi > > *intel_dsi, u16 panel_id) intel_dsi->panel_off_delay = > > pps->panel_off_delay / 10; intel_dsi->panel_pwr_cycle_delay = > > pps->panel_power_cycle_delay / 10; > > + intel_dsi->i2c_bus_num = -1; > > + > > /* a regular driver would get the device in probe */ > > for_each_dsi_port(port, intel_dsi->ports) { > > mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); > > > > Regards, > > Hans > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block 2020-01-04 0:00 ` Vivek Kasireddy @ 2020-01-04 16:44 ` Hans de Goede 2020-01-07 16:49 ` Ville Syrjälä 1 sibling, 0 replies; 22+ messages in thread From: Hans de Goede @ 2020-01-04 16:44 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: Deepak M, intel-gfx Hi, On 04-01-2020 01:00, Vivek Kasireddy wrote: > On Fri, 3 Jan 2020 12:05:11 +0100 > Hans de Goede <hdegoede@redhat.com> wrote: > Hi Hans, > >> Hi Vivek, >> >> On 03-01-2020 01:00, Vivek Kasireddy wrote: >>> Parsing the i2c element is mainly done to transfer the payload from >>> the MIPI sequence block to the relevant slave device. In some >>> cases, the commands that are part of the payload can be used to >>> turn on the backlight. >>> >>> This patch is actually a refactored version of this old patch: >>> https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html >>> >>> In addition to the refactoring, the old patch is augmented by >>> looking up the i2c bus from ACPI NS instead of relying on the bus >>> number provided in the VBT. >>> >>> Cc: Deepak M <m.deepak@intel.com> >>> Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> >>> Cc: Matt Roper <matthew.d.roper@intel.com> >>> Cc: Bob Paauwe <bob.j.paauwe@intel.com> >>> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> >> >> Thank you for this patch, I have been doing a lot of work to make >> DSI panels on Bay Trail and Cherry Trail devices work better, as such >> I've done a lot of testing of DSI panels. But I have never seen any >> MIPI sequences actually use the i2c commands. May I ask how you have >> tested this? Do you have a device which actually uses the i2c >> commands? > Oh, they sure exist; we do have a device that uses i2c commands to turn > on the backlight that we have tested this patch on. Ah, ok, good. I was a bit worried this patch was not tested with any devices actually using the i2c stuff. So I'm happy to hear that it has been tested. Regards, Hans > >> >> I also have some small review comments inline: >> >>> --- >>> drivers/gpu/drm/i915/display/intel_dsi.h | 3 + >>> drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 93 >>> ++++++++++++++++++++ 2 files changed, 96 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h >>> b/drivers/gpu/drm/i915/display/intel_dsi.h index >>> b15be5814599..5651bc8aa5c2 100644 --- >>> a/drivers/gpu/drm/i915/display/intel_dsi.h +++ >>> b/drivers/gpu/drm/i915/display/intel_dsi.h @@ -68,6 +68,9 @@ struct >>> intel_dsi { /* number of DSI lanes */ >>> unsigned int lane_count; >>> >>> + /* i2c bus associated with the slave device */ >>> + int i2c_bus_num; >>> + >>> /* >>> * video mode pixel format >>> * >>> diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c >>> b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c index >>> f90946c912ee..60441a5a3dba 100644 --- >>> a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ >>> b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -83,6 +83,12 @@ >>> static struct gpio_map vlv_gpio_table[] = { { >>> VLV_GPIO_NC_11_PANEL1_BKLTCTL }, }; >>> >>> +struct i2c_adapter_lookup { >>> + u16 slave_addr; >>> + struct intel_dsi *intel_dsi; >>> + acpi_handle dev_handle; >>> +}; >>> + >>> #define CHV_GPIO_IDX_START_N 0 >>> #define CHV_GPIO_IDX_START_E 73 >>> #define CHV_GPIO_IDX_START_SW 100 >>> @@ -375,8 +381,93 @@ static const u8 *mipi_exec_gpio(struct >>> intel_dsi *intel_dsi, const u8 *data) return data; >>> } >>> >>> +static int i2c_adapter_lookup(struct acpi_resource *ares, void >>> *data) +{ >>> + struct i2c_adapter_lookup *lookup = data; >>> + struct intel_dsi *intel_dsi = lookup->intel_dsi; >>> + struct acpi_resource_i2c_serialbus *sb; >>> + struct i2c_adapter *adapter; >>> + acpi_handle adapter_handle; >>> + acpi_status status; >>> + >>> + if (intel_dsi->i2c_bus_num >= 0 || >>> + !i2c_acpi_get_i2c_resource(ares, &sb)) >>> + return 1; >>> + >>> + if (lookup->slave_addr != sb->slave_address) >>> + return 1; >>> + >>> + status = acpi_get_handle(lookup->dev_handle, >>> + sb->resource_source.string_ptr, >>> + &adapter_handle); >>> + if (ACPI_FAILURE(status)) >>> + return 1; >>> + >>> + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); >>> + if (adapter) >>> + intel_dsi->i2c_bus_num = adapter->nr; >>> + >>> + return 1; >>> +} >>> + >>> static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const >>> u8 *data) { >>> + struct drm_device *dev = intel_dsi->base.base.dev; >>> + struct i2c_adapter *adapter; >>> + struct acpi_device *acpi_dev; >>> + struct list_head resource_list; >>> + struct i2c_adapter_lookup lookup; >>> + struct i2c_msg msg; >>> + int ret; >>> + u8 vbt_i2c_bus_num = *(data + 2); >>> + u16 slave_addr = *(u16 *)(data + 3); >>> + u8 reg_offset = *(data + 5); >>> + u8 payload_size = *(data + 6); >>> + u8 *payload_data; >>> + >>> + if (intel_dsi->i2c_bus_num < 0) { >>> + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; >>> + >>> + acpi_dev = ACPI_COMPANION(&dev->pdev->dev); >>> + if (acpi_dev) { >>> + memset(&lookup, 0, sizeof(lookup)); >>> + lookup.slave_addr = slave_addr; >>> + lookup.intel_dsi = intel_dsi; >>> + lookup.dev_handle = >>> acpi_device_handle(acpi_dev); + >>> + INIT_LIST_HEAD(&resource_list); >>> + acpi_dev_get_resources(acpi_dev, >>> &resource_list, >>> + i2c_adapter_lookup, >>> + &lookup); >>> + >>> acpi_dev_free_resource_list(&resource_list); >>> + } >>> + } >>> + >>> + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); >>> + if (!adapter) >>> + goto out; >> >> This should never happen, so you should put a DRM_DEV_WARN here. > Ok, will do. > >> >>> + >>> + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); >>> + if (!payload_data) >>> + goto out; >>> + >>> + payload_data[0] = reg_offset; >>> + memcpy(&payload_data[1], (data + 7), payload_size); >>> + >>> + msg.addr = slave_addr; >>> + msg.flags = 0; >>> + msg.len = payload_size + 1; >>> + msg.buf = payload_data; >>> + >>> + ret = i2c_transfer(adapter, &msg, 1); >>> + if (ret < 0) >>> + DRM_ERROR("i2c transfer failed"); >> >> DRM_DEV_ERROR? And maybe some more info, like the register which >> the transfer is going to + payload size? > Ok, adding extra info makes sense. > >> >>> + >>> + kfree(payload_data); >>> + i2c_put_adapter(adapter); >>> + >> >> Just put out here, no need for the DRM_DEBUG (which should no >> longer be a debug now that we implement this) below, since we >> WARN or ERROR on all goto out; statements above. > Ok, will do. > > Thanks, > Vivek > >> >> out: >> >>> + return data + payload_size + 7; >> >> And drop these 3 lines: >> >>> +out: >>> DRM_DEBUG_KMS("Skipping I2C element execution\n"); >>> >>> return data + *(data + 6) + 7; >> >> >> >>> @@ -664,6 +755,8 @@ bool intel_dsi_vbt_init(struct intel_dsi >>> *intel_dsi, u16 panel_id) intel_dsi->panel_off_delay = >>> pps->panel_off_delay / 10; intel_dsi->panel_pwr_cycle_delay = >>> pps->panel_power_cycle_delay / 10; >>> + intel_dsi->i2c_bus_num = -1; >>> + >>> /* a regular driver would get the device in probe */ >>> for_each_dsi_port(port, intel_dsi->ports) { >>> mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); >>> >> >> Regards, >> >> Hans >> > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block 2020-01-04 0:00 ` Vivek Kasireddy 2020-01-04 16:44 ` Hans de Goede @ 2020-01-07 16:49 ` Ville Syrjälä 2020-01-07 19:36 ` Matt Roper 1 sibling, 1 reply; 22+ messages in thread From: Ville Syrjälä @ 2020-01-07 16:49 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: Deepak M, intel-gfx On Fri, Jan 03, 2020 at 04:00:54PM -0800, Vivek Kasireddy wrote: > On Fri, 3 Jan 2020 12:05:11 +0100 > Hans de Goede <hdegoede@redhat.com> wrote: > Hi Hans, > > > Hi Vivek, > > > > On 03-01-2020 01:00, Vivek Kasireddy wrote: > > > Parsing the i2c element is mainly done to transfer the payload from > > > the MIPI sequence block to the relevant slave device. In some > > > cases, the commands that are part of the payload can be used to > > > turn on the backlight. > > > > > > This patch is actually a refactored version of this old patch: > > > https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html > > > > > > In addition to the refactoring, the old patch is augmented by > > > looking up the i2c bus from ACPI NS instead of relying on the bus > > > number provided in the VBT. > > > > > > Cc: Deepak M <m.deepak@intel.com> > > > Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> > > > Cc: Matt Roper <matthew.d.roper@intel.com> > > > Cc: Bob Paauwe <bob.j.paauwe@intel.com> > > > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> > > > > Thank you for this patch, I have been doing a lot of work to make > > DSI panels on Bay Trail and Cherry Trail devices work better, as such > > I've done a lot of testing of DSI panels. But I have never seen any > > MIPI sequences actually use the i2c commands. May I ask how you have > > tested this? Do you have a device which actually uses the i2c > > commands? > Oh, they sure exist; we do have a device that uses i2c commands to turn > on the backlight that we have tested this patch on. And what exactly is that device? That is valuable information that the commit message should contain. > > > > > I also have some small review comments inline: > > > > > --- > > > drivers/gpu/drm/i915/display/intel_dsi.h | 3 + > > > drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 93 > > > ++++++++++++++++++++ 2 files changed, 96 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h > > > b/drivers/gpu/drm/i915/display/intel_dsi.h index > > > b15be5814599..5651bc8aa5c2 100644 --- > > > a/drivers/gpu/drm/i915/display/intel_dsi.h +++ > > > b/drivers/gpu/drm/i915/display/intel_dsi.h @@ -68,6 +68,9 @@ struct > > > intel_dsi { /* number of DSI lanes */ > > > unsigned int lane_count; > > > > > > + /* i2c bus associated with the slave device */ > > > + int i2c_bus_num; > > > + > > > /* > > > * video mode pixel format > > > * > > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > > > b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c index > > > f90946c912ee..60441a5a3dba 100644 --- > > > a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ > > > b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -83,6 +83,12 @@ > > > static struct gpio_map vlv_gpio_table[] = { { > > > VLV_GPIO_NC_11_PANEL1_BKLTCTL }, }; > > > > > > +struct i2c_adapter_lookup { > > > + u16 slave_addr; > > > + struct intel_dsi *intel_dsi; > > > + acpi_handle dev_handle; > > > +}; > > > + > > > #define CHV_GPIO_IDX_START_N 0 > > > #define CHV_GPIO_IDX_START_E 73 > > > #define CHV_GPIO_IDX_START_SW 100 > > > @@ -375,8 +381,93 @@ static const u8 *mipi_exec_gpio(struct > > > intel_dsi *intel_dsi, const u8 *data) return data; > > > } > > > > > > +static int i2c_adapter_lookup(struct acpi_resource *ares, void > > > *data) +{ > > > + struct i2c_adapter_lookup *lookup = data; > > > + struct intel_dsi *intel_dsi = lookup->intel_dsi; > > > + struct acpi_resource_i2c_serialbus *sb; > > > + struct i2c_adapter *adapter; > > > + acpi_handle adapter_handle; > > > + acpi_status status; > > > + > > > + if (intel_dsi->i2c_bus_num >= 0 || > > > + !i2c_acpi_get_i2c_resource(ares, &sb)) > > > + return 1; > > > + > > > + if (lookup->slave_addr != sb->slave_address) > > > + return 1; > > > + > > > + status = acpi_get_handle(lookup->dev_handle, > > > + sb->resource_source.string_ptr, > > > + &adapter_handle); > > > + if (ACPI_FAILURE(status)) > > > + return 1; > > > + > > > + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); > > > + if (adapter) > > > + intel_dsi->i2c_bus_num = adapter->nr; > > > + > > > + return 1; > > > +} > > > + > > > static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const > > > u8 *data) { > > > + struct drm_device *dev = intel_dsi->base.base.dev; > > > + struct i2c_adapter *adapter; > > > + struct acpi_device *acpi_dev; > > > + struct list_head resource_list; > > > + struct i2c_adapter_lookup lookup; > > > + struct i2c_msg msg; > > > + int ret; > > > + u8 vbt_i2c_bus_num = *(data + 2); > > > + u16 slave_addr = *(u16 *)(data + 3); > > > + u8 reg_offset = *(data + 5); > > > + u8 payload_size = *(data + 6); > > > + u8 *payload_data; > > > + > > > + if (intel_dsi->i2c_bus_num < 0) { > > > + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; > > > + > > > + acpi_dev = ACPI_COMPANION(&dev->pdev->dev); > > > + if (acpi_dev) { > > > + memset(&lookup, 0, sizeof(lookup)); > > > + lookup.slave_addr = slave_addr; > > > + lookup.intel_dsi = intel_dsi; > > > + lookup.dev_handle = > > > acpi_device_handle(acpi_dev); + > > > + INIT_LIST_HEAD(&resource_list); > > > + acpi_dev_get_resources(acpi_dev, > > > &resource_list, > > > + i2c_adapter_lookup, > > > + &lookup); > > > + > > > acpi_dev_free_resource_list(&resource_list); > > > + } > > > + } > > > + > > > + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); > > > + if (!adapter) > > > + goto out; > > > > This should never happen, so you should put a DRM_DEV_WARN here. > Ok, will do. > > > > > > + > > > + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); > > > + if (!payload_data) > > > + goto out; > > > + > > > + payload_data[0] = reg_offset; > > > + memcpy(&payload_data[1], (data + 7), payload_size); > > > + > > > + msg.addr = slave_addr; > > > + msg.flags = 0; > > > + msg.len = payload_size + 1; > > > + msg.buf = payload_data; > > > + > > > + ret = i2c_transfer(adapter, &msg, 1); > > > + if (ret < 0) > > > + DRM_ERROR("i2c transfer failed"); > > > > DRM_DEV_ERROR? And maybe some more info, like the register which > > the transfer is going to + payload size? > Ok, adding extra info makes sense. > > > > > > + > > > + kfree(payload_data); > > > + i2c_put_adapter(adapter); > > > + > > > > Just put out here, no need for the DRM_DEBUG (which should no > > longer be a debug now that we implement this) below, since we > > WARN or ERROR on all goto out; statements above. > Ok, will do. > > Thanks, > Vivek > > > > > out: > > > > > + return data + payload_size + 7; > > > > And drop these 3 lines: > > > > > +out: > > > DRM_DEBUG_KMS("Skipping I2C element execution\n"); > > > > > > return data + *(data + 6) + 7; > > > > > > > > > @@ -664,6 +755,8 @@ bool intel_dsi_vbt_init(struct intel_dsi > > > *intel_dsi, u16 panel_id) intel_dsi->panel_off_delay = > > > pps->panel_off_delay / 10; intel_dsi->panel_pwr_cycle_delay = > > > pps->panel_power_cycle_delay / 10; > > > + intel_dsi->i2c_bus_num = -1; > > > + > > > /* a regular driver would get the device in probe */ > > > for_each_dsi_port(port, intel_dsi->ports) { > > > mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); > > > > > > > Regards, > > > > Hans > > > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block 2020-01-07 16:49 ` Ville Syrjälä @ 2020-01-07 19:36 ` Matt Roper 0 siblings, 0 replies; 22+ messages in thread From: Matt Roper @ 2020-01-07 19:36 UTC (permalink / raw) To: Ville Syrjälä; +Cc: Deepak M, intel-gfx On Tue, Jan 07, 2020 at 06:49:04PM +0200, Ville Syrjälä wrote: > On Fri, Jan 03, 2020 at 04:00:54PM -0800, Vivek Kasireddy wrote: > > On Fri, 3 Jan 2020 12:05:11 +0100 > > Hans de Goede <hdegoede@redhat.com> wrote: > > Hi Hans, > > > > > Hi Vivek, > > > > > > On 03-01-2020 01:00, Vivek Kasireddy wrote: > > > > Parsing the i2c element is mainly done to transfer the payload from > > > > the MIPI sequence block to the relevant slave device. In some > > > > cases, the commands that are part of the payload can be used to > > > > turn on the backlight. > > > > > > > > This patch is actually a refactored version of this old patch: > > > > https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html > > > > > > > > In addition to the refactoring, the old patch is augmented by > > > > looking up the i2c bus from ACPI NS instead of relying on the bus > > > > number provided in the VBT. > > > > > > > > Cc: Deepak M <m.deepak@intel.com> > > > > Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> > > > > Cc: Matt Roper <matthew.d.roper@intel.com> > > > > Cc: Bob Paauwe <bob.j.paauwe@intel.com> > > > > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> > > > > > > Thank you for this patch, I have been doing a lot of work to make > > > DSI panels on Bay Trail and Cherry Trail devices work better, as such > > > I've done a lot of testing of DSI panels. But I have never seen any > > > MIPI sequences actually use the i2c commands. May I ask how you have > > > tested this? Do you have a device which actually uses the i2c > > > commands? > > Oh, they sure exist; we do have a device that uses i2c commands to turn > > on the backlight that we have tested this patch on. > > And what exactly is that device? That is valuable information that the > commit message should contain. I'm not sure if we're allowed to disclose that information. I believe Vivek is working with an engineering sample and the device itself might not have been publicly announced by the device manufacturer yet. Matt > > > > > > > > > I also have some small review comments inline: > > > > > > > --- > > > > drivers/gpu/drm/i915/display/intel_dsi.h | 3 + > > > > drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 93 > > > > ++++++++++++++++++++ 2 files changed, 96 insertions(+) > > > > > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h > > > > b/drivers/gpu/drm/i915/display/intel_dsi.h index > > > > b15be5814599..5651bc8aa5c2 100644 --- > > > > a/drivers/gpu/drm/i915/display/intel_dsi.h +++ > > > > b/drivers/gpu/drm/i915/display/intel_dsi.h @@ -68,6 +68,9 @@ struct > > > > intel_dsi { /* number of DSI lanes */ > > > > unsigned int lane_count; > > > > > > > > + /* i2c bus associated with the slave device */ > > > > + int i2c_bus_num; > > > > + > > > > /* > > > > * video mode pixel format > > > > * > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > > > > b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c index > > > > f90946c912ee..60441a5a3dba 100644 --- > > > > a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ > > > > b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -83,6 +83,12 @@ > > > > static struct gpio_map vlv_gpio_table[] = { { > > > > VLV_GPIO_NC_11_PANEL1_BKLTCTL }, }; > > > > > > > > +struct i2c_adapter_lookup { > > > > + u16 slave_addr; > > > > + struct intel_dsi *intel_dsi; > > > > + acpi_handle dev_handle; > > > > +}; > > > > + > > > > #define CHV_GPIO_IDX_START_N 0 > > > > #define CHV_GPIO_IDX_START_E 73 > > > > #define CHV_GPIO_IDX_START_SW 100 > > > > @@ -375,8 +381,93 @@ static const u8 *mipi_exec_gpio(struct > > > > intel_dsi *intel_dsi, const u8 *data) return data; > > > > } > > > > > > > > +static int i2c_adapter_lookup(struct acpi_resource *ares, void > > > > *data) +{ > > > > + struct i2c_adapter_lookup *lookup = data; > > > > + struct intel_dsi *intel_dsi = lookup->intel_dsi; > > > > + struct acpi_resource_i2c_serialbus *sb; > > > > + struct i2c_adapter *adapter; > > > > + acpi_handle adapter_handle; > > > > + acpi_status status; > > > > + > > > > + if (intel_dsi->i2c_bus_num >= 0 || > > > > + !i2c_acpi_get_i2c_resource(ares, &sb)) > > > > + return 1; > > > > + > > > > + if (lookup->slave_addr != sb->slave_address) > > > > + return 1; > > > > + > > > > + status = acpi_get_handle(lookup->dev_handle, > > > > + sb->resource_source.string_ptr, > > > > + &adapter_handle); > > > > + if (ACPI_FAILURE(status)) > > > > + return 1; > > > > + > > > > + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); > > > > + if (adapter) > > > > + intel_dsi->i2c_bus_num = adapter->nr; > > > > + > > > > + return 1; > > > > +} > > > > + > > > > static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const > > > > u8 *data) { > > > > + struct drm_device *dev = intel_dsi->base.base.dev; > > > > + struct i2c_adapter *adapter; > > > > + struct acpi_device *acpi_dev; > > > > + struct list_head resource_list; > > > > + struct i2c_adapter_lookup lookup; > > > > + struct i2c_msg msg; > > > > + int ret; > > > > + u8 vbt_i2c_bus_num = *(data + 2); > > > > + u16 slave_addr = *(u16 *)(data + 3); > > > > + u8 reg_offset = *(data + 5); > > > > + u8 payload_size = *(data + 6); > > > > + u8 *payload_data; > > > > + > > > > + if (intel_dsi->i2c_bus_num < 0) { > > > > + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; > > > > + > > > > + acpi_dev = ACPI_COMPANION(&dev->pdev->dev); > > > > + if (acpi_dev) { > > > > + memset(&lookup, 0, sizeof(lookup)); > > > > + lookup.slave_addr = slave_addr; > > > > + lookup.intel_dsi = intel_dsi; > > > > + lookup.dev_handle = > > > > acpi_device_handle(acpi_dev); + > > > > + INIT_LIST_HEAD(&resource_list); > > > > + acpi_dev_get_resources(acpi_dev, > > > > &resource_list, > > > > + i2c_adapter_lookup, > > > > + &lookup); > > > > + > > > > acpi_dev_free_resource_list(&resource_list); > > > > + } > > > > + } > > > > + > > > > + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); > > > > + if (!adapter) > > > > + goto out; > > > > > > This should never happen, so you should put a DRM_DEV_WARN here. > > Ok, will do. > > > > > > > > > + > > > > + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); > > > > + if (!payload_data) > > > > + goto out; > > > > + > > > > + payload_data[0] = reg_offset; > > > > + memcpy(&payload_data[1], (data + 7), payload_size); > > > > + > > > > + msg.addr = slave_addr; > > > > + msg.flags = 0; > > > > + msg.len = payload_size + 1; > > > > + msg.buf = payload_data; > > > > + > > > > + ret = i2c_transfer(adapter, &msg, 1); > > > > + if (ret < 0) > > > > + DRM_ERROR("i2c transfer failed"); > > > > > > DRM_DEV_ERROR? And maybe some more info, like the register which > > > the transfer is going to + payload size? > > Ok, adding extra info makes sense. > > > > > > > > > + > > > > + kfree(payload_data); > > > > + i2c_put_adapter(adapter); > > > > + > > > > > > Just put out here, no need for the DRM_DEBUG (which should no > > > longer be a debug now that we implement this) below, since we > > > WARN or ERROR on all goto out; statements above. > > Ok, will do. > > > > Thanks, > > Vivek > > > > > > > > out: > > > > > > > + return data + payload_size + 7; > > > > > > And drop these 3 lines: > > > > > > > +out: > > > > DRM_DEBUG_KMS("Skipping I2C element execution\n"); > > > > > > > > return data + *(data + 6) + 7; > > > > > > > > > > > > > @@ -664,6 +755,8 @@ bool intel_dsi_vbt_init(struct intel_dsi > > > > *intel_dsi, u16 panel_id) intel_dsi->panel_off_delay = > > > > pps->panel_off_delay / 10; intel_dsi->panel_pwr_cycle_delay = > > > > pps->panel_power_cycle_delay / 10; > > > > + intel_dsi->i2c_bus_num = -1; > > > > + > > > > /* a regular driver would get the device in probe */ > > > > for_each_dsi_port(port, intel_dsi->ports) { > > > > mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); > > > > > > > > > > Regards, > > > > > > Hans > > > > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Ville Syrjälä > Intel > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v2) 2020-01-03 11:05 ` [Intel-gfx] [PATCH] " Hans de Goede 2020-01-04 0:00 ` Vivek Kasireddy @ 2020-01-04 1:09 ` Vivek Kasireddy 2020-01-04 16:45 ` Hans de Goede 1 sibling, 1 reply; 22+ messages in thread From: Vivek Kasireddy @ 2020-01-04 1:09 UTC (permalink / raw) To: intel-gfx Parsing the i2c element is mainly done to transfer the payload from the MIPI sequence block to the relevant slave device. In some cases, the commands that are part of the payload can be used to turn on the backlight. This patch is actually a refactored version of this old patch: https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html In addition to the refactoring, the original patch is augmented by looking up the i2c bus from ACPI NS instead of relying on the bus number provided in the VBT. v2: - Add DRM_DEV_ERROR for invalid adapter and failed transfer and also drop the DRM_DEBUG that existed originally. (Hans) - Add two gotos instead of one to clean things up properly. CC: Hans de Goede <hdegoede@redhat.com> Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Bob Paauwe <bob.j.paauwe@intel.com> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> --- drivers/gpu/drm/i915/display/intel_dsi.h | 3 + drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 99 +++++++++++++++++++- 2 files changed, 100 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h index b15be5814599..5651bc8aa5c2 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi.h +++ b/drivers/gpu/drm/i915/display/intel_dsi.h @@ -68,6 +68,9 @@ struct intel_dsi { /* number of DSI lanes */ unsigned int lane_count; + /* i2c bus associated with the slave device */ + int i2c_bus_num; + /* * video mode pixel format * diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c index f90946c912ee..35fcef7c0d70 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -83,6 +83,12 @@ static struct gpio_map vlv_gpio_table[] = { { VLV_GPIO_NC_11_PANEL1_BKLTCTL }, }; +struct i2c_adapter_lookup { + u16 slave_addr; + struct intel_dsi *intel_dsi; + acpi_handle dev_handle; +}; + #define CHV_GPIO_IDX_START_N 0 #define CHV_GPIO_IDX_START_E 73 #define CHV_GPIO_IDX_START_SW 100 @@ -375,11 +381,98 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data) return data; } +static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) +{ + struct i2c_adapter_lookup *lookup = data; + struct intel_dsi *intel_dsi = lookup->intel_dsi; + struct acpi_resource_i2c_serialbus *sb; + struct i2c_adapter *adapter; + acpi_handle adapter_handle; + acpi_status status; + + if (intel_dsi->i2c_bus_num >= 0 || + !i2c_acpi_get_i2c_resource(ares, &sb)) + return 1; + + if (lookup->slave_addr != sb->slave_address) + return 1; + + status = acpi_get_handle(lookup->dev_handle, + sb->resource_source.string_ptr, + &adapter_handle); + if (ACPI_FAILURE(status)) + return 1; + + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); + if (adapter) + intel_dsi->i2c_bus_num = adapter->nr; + + return 1; +} + static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) { - DRM_DEBUG_KMS("Skipping I2C element execution\n"); + struct drm_device *drm_dev = intel_dsi->base.base.dev; + struct device *dev = &drm_dev->pdev->dev; + struct i2c_adapter *adapter; + struct acpi_device *acpi_dev; + struct list_head resource_list; + struct i2c_adapter_lookup lookup; + struct i2c_msg msg; + int ret; + u8 vbt_i2c_bus_num = *(data + 2); + u16 slave_addr = *(u16 *)(data + 3); + u8 reg_offset = *(data + 5); + u8 payload_size = *(data + 6); + u8 *payload_data; + + if (intel_dsi->i2c_bus_num < 0) { + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; + + acpi_dev = ACPI_COMPANION(dev); + if (acpi_dev) { + memset(&lookup, 0, sizeof(lookup)); + lookup.slave_addr = slave_addr; + lookup.intel_dsi = intel_dsi; + lookup.dev_handle = acpi_device_handle(acpi_dev); + + INIT_LIST_HEAD(&resource_list); + acpi_dev_get_resources(acpi_dev, &resource_list, + i2c_adapter_lookup, + &lookup); + acpi_dev_free_resource_list(&resource_list); + } + } - return data + *(data + 6) + 7; + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); + if (!adapter) { + DRM_DEV_ERROR(dev, "Cannot find a valid i2c bus for xfer\n"); + goto err_bus; + } + + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); + if (!payload_data) + goto err_alloc; + + payload_data[0] = reg_offset; + memcpy(&payload_data[1], (data + 7), payload_size); + + msg.addr = slave_addr; + msg.flags = 0; + msg.len = payload_size + 1; + msg.buf = payload_data; + + ret = i2c_transfer(adapter, &msg, 1); + if (ret < 0) + DRM_DEV_ERROR(dev, + "Failed to xfer payload of size (%u) to reg (%u)\n", + payload_size, reg_offset); + + kfree(payload_data); +err_alloc: + i2c_put_adapter(adapter); +err_bus: + return data + payload_size + 7; } static const u8 *mipi_exec_spi(struct intel_dsi *intel_dsi, const u8 *data) @@ -664,6 +757,8 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) intel_dsi->panel_off_delay = pps->panel_off_delay / 10; intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10; + intel_dsi->i2c_bus_num = -1; + /* a regular driver would get the device in probe */ for_each_dsi_port(port, intel_dsi->ports) { mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); -- 2.21.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v2) 2020-01-04 1:09 ` [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v2) Vivek Kasireddy @ 2020-01-04 16:45 ` Hans de Goede 2020-01-10 18:11 ` [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3) Vivek Kasireddy 0 siblings, 1 reply; 22+ messages in thread From: Hans de Goede @ 2020-01-04 16:45 UTC (permalink / raw) To: Vivek Kasireddy, intel-gfx Hi, On 04-01-2020 02:09, Vivek Kasireddy wrote: > Parsing the i2c element is mainly done to transfer the payload from the > MIPI sequence block to the relevant slave device. In some cases, the > commands that are part of the payload can be used to turn on the backlight. > > This patch is actually a refactored version of this old patch: > https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html > > In addition to the refactoring, the original patch is augmented by looking up > the i2c bus from ACPI NS instead of relying on the bus number provided > in the VBT. > > v2: > - Add DRM_DEV_ERROR for invalid adapter and failed transfer and also > drop the DRM_DEBUG that existed originally. (Hans) > - Add two gotos instead of one to clean things up properly. > > CC: Hans de Goede <hdegoede@redhat.com> > Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> > Cc: Matt Roper <matthew.d.roper@intel.com> > Cc: Bob Paauwe <bob.j.paauwe@intel.com> > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> v2 looks good to me: Reviewed-by: Hans de Goede <hdegoede@redhat.com> Regards, Hans > --- > drivers/gpu/drm/i915/display/intel_dsi.h | 3 + > drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 99 +++++++++++++++++++- > 2 files changed, 100 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h > index b15be5814599..5651bc8aa5c2 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi.h > +++ b/drivers/gpu/drm/i915/display/intel_dsi.h > @@ -68,6 +68,9 @@ struct intel_dsi { > /* number of DSI lanes */ > unsigned int lane_count; > > + /* i2c bus associated with the slave device */ > + int i2c_bus_num; > + > /* > * video mode pixel format > * > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > index f90946c912ee..35fcef7c0d70 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > @@ -83,6 +83,12 @@ static struct gpio_map vlv_gpio_table[] = { > { VLV_GPIO_NC_11_PANEL1_BKLTCTL }, > }; > > +struct i2c_adapter_lookup { > + u16 slave_addr; > + struct intel_dsi *intel_dsi; > + acpi_handle dev_handle; > +}; > + > #define CHV_GPIO_IDX_START_N 0 > #define CHV_GPIO_IDX_START_E 73 > #define CHV_GPIO_IDX_START_SW 100 > @@ -375,11 +381,98 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data) > return data; > } > > +static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) > +{ > + struct i2c_adapter_lookup *lookup = data; > + struct intel_dsi *intel_dsi = lookup->intel_dsi; > + struct acpi_resource_i2c_serialbus *sb; > + struct i2c_adapter *adapter; > + acpi_handle adapter_handle; > + acpi_status status; > + > + if (intel_dsi->i2c_bus_num >= 0 || > + !i2c_acpi_get_i2c_resource(ares, &sb)) > + return 1; > + > + if (lookup->slave_addr != sb->slave_address) > + return 1; > + > + status = acpi_get_handle(lookup->dev_handle, > + sb->resource_source.string_ptr, > + &adapter_handle); > + if (ACPI_FAILURE(status)) > + return 1; > + > + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); > + if (adapter) > + intel_dsi->i2c_bus_num = adapter->nr; > + > + return 1; > +} > + > static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) > { > - DRM_DEBUG_KMS("Skipping I2C element execution\n"); > + struct drm_device *drm_dev = intel_dsi->base.base.dev; > + struct device *dev = &drm_dev->pdev->dev; > + struct i2c_adapter *adapter; > + struct acpi_device *acpi_dev; > + struct list_head resource_list; > + struct i2c_adapter_lookup lookup; > + struct i2c_msg msg; > + int ret; > + u8 vbt_i2c_bus_num = *(data + 2); > + u16 slave_addr = *(u16 *)(data + 3); > + u8 reg_offset = *(data + 5); > + u8 payload_size = *(data + 6); > + u8 *payload_data; > + > + if (intel_dsi->i2c_bus_num < 0) { > + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; > + > + acpi_dev = ACPI_COMPANION(dev); > + if (acpi_dev) { > + memset(&lookup, 0, sizeof(lookup)); > + lookup.slave_addr = slave_addr; > + lookup.intel_dsi = intel_dsi; > + lookup.dev_handle = acpi_device_handle(acpi_dev); > + > + INIT_LIST_HEAD(&resource_list); > + acpi_dev_get_resources(acpi_dev, &resource_list, > + i2c_adapter_lookup, > + &lookup); > + acpi_dev_free_resource_list(&resource_list); > + } > + } > > - return data + *(data + 6) + 7; > + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); > + if (!adapter) { > + DRM_DEV_ERROR(dev, "Cannot find a valid i2c bus for xfer\n"); > + goto err_bus; > + } > + > + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); > + if (!payload_data) > + goto err_alloc; > + > + payload_data[0] = reg_offset; > + memcpy(&payload_data[1], (data + 7), payload_size); > + > + msg.addr = slave_addr; > + msg.flags = 0; > + msg.len = payload_size + 1; > + msg.buf = payload_data; > + > + ret = i2c_transfer(adapter, &msg, 1); > + if (ret < 0) > + DRM_DEV_ERROR(dev, > + "Failed to xfer payload of size (%u) to reg (%u)\n", > + payload_size, reg_offset); > + > + kfree(payload_data); > +err_alloc: > + i2c_put_adapter(adapter); > +err_bus: > + return data + payload_size + 7; > } > > static const u8 *mipi_exec_spi(struct intel_dsi *intel_dsi, const u8 *data) > @@ -664,6 +757,8 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) > intel_dsi->panel_off_delay = pps->panel_off_delay / 10; > intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10; > > + intel_dsi->i2c_bus_num = -1; > + > /* a regular driver would get the device in probe */ > for_each_dsi_port(port, intel_dsi->ports) { > mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3) 2020-01-04 16:45 ` Hans de Goede @ 2020-01-10 18:11 ` Vivek Kasireddy 2020-01-10 18:39 ` Matt Roper 2020-01-13 11:27 ` Jani Nikula 0 siblings, 2 replies; 22+ messages in thread From: Vivek Kasireddy @ 2020-01-10 18:11 UTC (permalink / raw) To: intel-gfx Parsing the i2c element is mainly done to transfer the payload from the MIPI sequence block to the relevant slave device. In some cases, the commands that are part of the payload can be used to turn on the backlight. This patch is actually a refactored version of this old patch: https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html In addition to the refactoring, the original patch is augmented by looking up the i2c bus from ACPI NS instead of relying on the bus number provided in the VBT. This patch was tested on Aava Mobile's Inari 10 tablet. It enabled turning on the backlight by transfering the payload to the device. v2: - Add DRM_DEV_ERROR for invalid adapter and failed transfer and also drop the DRM_DEBUG that existed originally. (Hans) - Add two gotos instead of one to clean things up properly. v3: - Identify the device on which this patch was tested in the commit message (Ville) Cc: Hans de Goede <hdegoede@redhat.com> Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Bob Paauwe <bob.j.paauwe@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> --- drivers/gpu/drm/i915/display/intel_dsi.h | 3 + drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 99 +++++++++++++++++++- 2 files changed, 100 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h index 7481a5aa3084..6cef1356b4e6 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi.h +++ b/drivers/gpu/drm/i915/display/intel_dsi.h @@ -69,6 +69,9 @@ struct intel_dsi { /* number of DSI lanes */ unsigned int lane_count; + /* i2c bus associated with the slave device */ + int i2c_bus_num; + /* * video mode pixel format * diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c index 0032161e0f76..89fb0d90b694 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -86,6 +86,12 @@ static struct gpio_map vlv_gpio_table[] = { { VLV_GPIO_NC_11_PANEL1_BKLTCTL }, }; +struct i2c_adapter_lookup { + u16 slave_addr; + struct intel_dsi *intel_dsi; + acpi_handle dev_handle; +}; + #define CHV_GPIO_IDX_START_N 0 #define CHV_GPIO_IDX_START_E 73 #define CHV_GPIO_IDX_START_SW 100 @@ -378,11 +384,98 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data) return data; } +static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) +{ + struct i2c_adapter_lookup *lookup = data; + struct intel_dsi *intel_dsi = lookup->intel_dsi; + struct acpi_resource_i2c_serialbus *sb; + struct i2c_adapter *adapter; + acpi_handle adapter_handle; + acpi_status status; + + if (intel_dsi->i2c_bus_num >= 0 || + !i2c_acpi_get_i2c_resource(ares, &sb)) + return 1; + + if (lookup->slave_addr != sb->slave_address) + return 1; + + status = acpi_get_handle(lookup->dev_handle, + sb->resource_source.string_ptr, + &adapter_handle); + if (ACPI_FAILURE(status)) + return 1; + + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); + if (adapter) + intel_dsi->i2c_bus_num = adapter->nr; + + return 1; +} + static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) { - DRM_DEBUG_KMS("Skipping I2C element execution\n"); + struct drm_device *drm_dev = intel_dsi->base.base.dev; + struct device *dev = &drm_dev->pdev->dev; + struct i2c_adapter *adapter; + struct acpi_device *acpi_dev; + struct list_head resource_list; + struct i2c_adapter_lookup lookup; + struct i2c_msg msg; + int ret; + u8 vbt_i2c_bus_num = *(data + 2); + u16 slave_addr = *(u16 *)(data + 3); + u8 reg_offset = *(data + 5); + u8 payload_size = *(data + 6); + u8 *payload_data; + + if (intel_dsi->i2c_bus_num < 0) { + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; + + acpi_dev = ACPI_COMPANION(dev); + if (acpi_dev) { + memset(&lookup, 0, sizeof(lookup)); + lookup.slave_addr = slave_addr; + lookup.intel_dsi = intel_dsi; + lookup.dev_handle = acpi_device_handle(acpi_dev); + + INIT_LIST_HEAD(&resource_list); + acpi_dev_get_resources(acpi_dev, &resource_list, + i2c_adapter_lookup, + &lookup); + acpi_dev_free_resource_list(&resource_list); + } + } - return data + *(data + 6) + 7; + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); + if (!adapter) { + DRM_DEV_ERROR(dev, "Cannot find a valid i2c bus for xfer\n"); + goto err_bus; + } + + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); + if (!payload_data) + goto err_alloc; + + payload_data[0] = reg_offset; + memcpy(&payload_data[1], (data + 7), payload_size); + + msg.addr = slave_addr; + msg.flags = 0; + msg.len = payload_size + 1; + msg.buf = payload_data; + + ret = i2c_transfer(adapter, &msg, 1); + if (ret < 0) + DRM_DEV_ERROR(dev, + "Failed to xfer payload of size (%u) to reg (%u)\n", + payload_size, reg_offset); + + kfree(payload_data); +err_alloc: + i2c_put_adapter(adapter); +err_bus: + return data + payload_size + 7; } static const u8 *mipi_exec_spi(struct intel_dsi *intel_dsi, const u8 *data) @@ -683,6 +776,8 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) intel_dsi->panel_off_delay = pps->panel_off_delay / 10; intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10; + intel_dsi->i2c_bus_num = -1; + /* a regular driver would get the device in probe */ for_each_dsi_port(port, intel_dsi->ports) { mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); -- 2.21.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3) 2020-01-10 18:11 ` [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3) Vivek Kasireddy @ 2020-01-10 18:39 ` Matt Roper 2020-01-13 11:27 ` Jani Nikula 1 sibling, 0 replies; 22+ messages in thread From: Matt Roper @ 2020-01-10 18:39 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: intel-gfx On Fri, Jan 10, 2020 at 10:11:23AM -0800, Vivek Kasireddy wrote: > Parsing the i2c element is mainly done to transfer the payload from the > MIPI sequence block to the relevant slave device. In some cases, the > commands that are part of the payload can be used to turn on the backlight. > > This patch is actually a refactored version of this old patch: > https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html > > In addition to the refactoring, the original patch is augmented by looking up > the i2c bus from ACPI NS instead of relying on the bus number provided > in the VBT. > > This patch was tested on Aava Mobile's Inari 10 tablet. It enabled > turning on the backlight by transfering the payload to the device. > > v2: > - Add DRM_DEV_ERROR for invalid adapter and failed transfer and also > drop the DRM_DEBUG that existed originally. (Hans) > - Add two gotos instead of one to clean things up properly. > > v3: > - Identify the device on which this patch was tested in the commit > message (Ville) > > Cc: Hans de Goede <hdegoede@redhat.com> > Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> > Cc: Matt Roper <matthew.d.roper@intel.com> > Cc: Bob Paauwe <bob.j.paauwe@intel.com> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Reviewed-by: Hans de Goede <hdegoede@redhat.com> > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> Since v3 is identical to v2 except for the commit message, I think we can apply this based on v2's CI results. The only CI failure was an incomplete on a non-DSI TGL system and the incomplete happened long after the VBT parsing changes here would have had any effect. Applied to dinq. Thanks for the patch and review. Matt > --- > drivers/gpu/drm/i915/display/intel_dsi.h | 3 + > drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 99 +++++++++++++++++++- > 2 files changed, 100 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h > index 7481a5aa3084..6cef1356b4e6 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi.h > +++ b/drivers/gpu/drm/i915/display/intel_dsi.h > @@ -69,6 +69,9 @@ struct intel_dsi { > /* number of DSI lanes */ > unsigned int lane_count; > > + /* i2c bus associated with the slave device */ > + int i2c_bus_num; > + > /* > * video mode pixel format > * > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > index 0032161e0f76..89fb0d90b694 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > @@ -86,6 +86,12 @@ static struct gpio_map vlv_gpio_table[] = { > { VLV_GPIO_NC_11_PANEL1_BKLTCTL }, > }; > > +struct i2c_adapter_lookup { > + u16 slave_addr; > + struct intel_dsi *intel_dsi; > + acpi_handle dev_handle; > +}; > + > #define CHV_GPIO_IDX_START_N 0 > #define CHV_GPIO_IDX_START_E 73 > #define CHV_GPIO_IDX_START_SW 100 > @@ -378,11 +384,98 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data) > return data; > } > > +static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) > +{ > + struct i2c_adapter_lookup *lookup = data; > + struct intel_dsi *intel_dsi = lookup->intel_dsi; > + struct acpi_resource_i2c_serialbus *sb; > + struct i2c_adapter *adapter; > + acpi_handle adapter_handle; > + acpi_status status; > + > + if (intel_dsi->i2c_bus_num >= 0 || > + !i2c_acpi_get_i2c_resource(ares, &sb)) > + return 1; > + > + if (lookup->slave_addr != sb->slave_address) > + return 1; > + > + status = acpi_get_handle(lookup->dev_handle, > + sb->resource_source.string_ptr, > + &adapter_handle); > + if (ACPI_FAILURE(status)) > + return 1; > + > + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); > + if (adapter) > + intel_dsi->i2c_bus_num = adapter->nr; > + > + return 1; > +} > + > static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) > { > - DRM_DEBUG_KMS("Skipping I2C element execution\n"); > + struct drm_device *drm_dev = intel_dsi->base.base.dev; > + struct device *dev = &drm_dev->pdev->dev; > + struct i2c_adapter *adapter; > + struct acpi_device *acpi_dev; > + struct list_head resource_list; > + struct i2c_adapter_lookup lookup; > + struct i2c_msg msg; > + int ret; > + u8 vbt_i2c_bus_num = *(data + 2); > + u16 slave_addr = *(u16 *)(data + 3); > + u8 reg_offset = *(data + 5); > + u8 payload_size = *(data + 6); > + u8 *payload_data; > + > + if (intel_dsi->i2c_bus_num < 0) { > + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; > + > + acpi_dev = ACPI_COMPANION(dev); > + if (acpi_dev) { > + memset(&lookup, 0, sizeof(lookup)); > + lookup.slave_addr = slave_addr; > + lookup.intel_dsi = intel_dsi; > + lookup.dev_handle = acpi_device_handle(acpi_dev); > + > + INIT_LIST_HEAD(&resource_list); > + acpi_dev_get_resources(acpi_dev, &resource_list, > + i2c_adapter_lookup, > + &lookup); > + acpi_dev_free_resource_list(&resource_list); > + } > + } > > - return data + *(data + 6) + 7; > + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); > + if (!adapter) { > + DRM_DEV_ERROR(dev, "Cannot find a valid i2c bus for xfer\n"); > + goto err_bus; > + } > + > + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); > + if (!payload_data) > + goto err_alloc; > + > + payload_data[0] = reg_offset; > + memcpy(&payload_data[1], (data + 7), payload_size); > + > + msg.addr = slave_addr; > + msg.flags = 0; > + msg.len = payload_size + 1; > + msg.buf = payload_data; > + > + ret = i2c_transfer(adapter, &msg, 1); > + if (ret < 0) > + DRM_DEV_ERROR(dev, > + "Failed to xfer payload of size (%u) to reg (%u)\n", > + payload_size, reg_offset); > + > + kfree(payload_data); > +err_alloc: > + i2c_put_adapter(adapter); > +err_bus: > + return data + payload_size + 7; > } > > static const u8 *mipi_exec_spi(struct intel_dsi *intel_dsi, const u8 *data) > @@ -683,6 +776,8 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) > intel_dsi->panel_off_delay = pps->panel_off_delay / 10; > intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10; > > + intel_dsi->i2c_bus_num = -1; > + > /* a regular driver would get the device in probe */ > for_each_dsi_port(port, intel_dsi->ports) { > mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); > -- > 2.21.1 > -- Matt Roper Graphics Software Engineer VTT-OSGC Platform Enablement Intel Corporation (916) 356-2795 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3) 2020-01-10 18:11 ` [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3) Vivek Kasireddy 2020-01-10 18:39 ` Matt Roper @ 2020-01-13 11:27 ` Jani Nikula 2020-01-13 22:11 ` [Intel-gfx] [PATCH] drm/i915/dsi: Lookup the i2c bus from ACPI NS only if CONFIG_ACPI=y Vivek Kasireddy 1 sibling, 1 reply; 22+ messages in thread From: Jani Nikula @ 2020-01-13 11:27 UTC (permalink / raw) To: Vivek Kasireddy, intel-gfx On Fri, 10 Jan 2020, Vivek Kasireddy <vivek.kasireddy@intel.com> wrote: > Parsing the i2c element is mainly done to transfer the payload from the > MIPI sequence block to the relevant slave device. In some cases, the > commands that are part of the payload can be used to turn on the backlight. > > This patch is actually a refactored version of this old patch: > https://lists.freedesktop.org/archives/intel-gfx/2014-December/056897.html > > In addition to the refactoring, the original patch is augmented by looking up > the i2c bus from ACPI NS instead of relying on the bus number provided > in the VBT. All this acpi business in the patch will fail the build on CONFIG_ACPI=n. BR, Jani. > > This patch was tested on Aava Mobile's Inari 10 tablet. It enabled > turning on the backlight by transfering the payload to the device. > > v2: > - Add DRM_DEV_ERROR for invalid adapter and failed transfer and also > drop the DRM_DEBUG that existed originally. (Hans) > - Add two gotos instead of one to clean things up properly. > > v3: > - Identify the device on which this patch was tested in the commit > message (Ville) > > Cc: Hans de Goede <hdegoede@redhat.com> > Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> > Cc: Matt Roper <matthew.d.roper@intel.com> > Cc: Bob Paauwe <bob.j.paauwe@intel.com> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Reviewed-by: Hans de Goede <hdegoede@redhat.com> > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> > --- > drivers/gpu/drm/i915/display/intel_dsi.h | 3 + > drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 99 +++++++++++++++++++- > 2 files changed, 100 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi.h b/drivers/gpu/drm/i915/display/intel_dsi.h > index 7481a5aa3084..6cef1356b4e6 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi.h > +++ b/drivers/gpu/drm/i915/display/intel_dsi.h > @@ -69,6 +69,9 @@ struct intel_dsi { > /* number of DSI lanes */ > unsigned int lane_count; > > + /* i2c bus associated with the slave device */ > + int i2c_bus_num; > + > /* > * video mode pixel format > * > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > index 0032161e0f76..89fb0d90b694 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > @@ -86,6 +86,12 @@ static struct gpio_map vlv_gpio_table[] = { > { VLV_GPIO_NC_11_PANEL1_BKLTCTL }, > }; > > +struct i2c_adapter_lookup { > + u16 slave_addr; > + struct intel_dsi *intel_dsi; > + acpi_handle dev_handle; > +}; > + > #define CHV_GPIO_IDX_START_N 0 > #define CHV_GPIO_IDX_START_E 73 > #define CHV_GPIO_IDX_START_SW 100 > @@ -378,11 +384,98 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data) > return data; > } > > +static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) > +{ > + struct i2c_adapter_lookup *lookup = data; > + struct intel_dsi *intel_dsi = lookup->intel_dsi; > + struct acpi_resource_i2c_serialbus *sb; > + struct i2c_adapter *adapter; > + acpi_handle adapter_handle; > + acpi_status status; > + > + if (intel_dsi->i2c_bus_num >= 0 || > + !i2c_acpi_get_i2c_resource(ares, &sb)) > + return 1; > + > + if (lookup->slave_addr != sb->slave_address) > + return 1; > + > + status = acpi_get_handle(lookup->dev_handle, > + sb->resource_source.string_ptr, > + &adapter_handle); > + if (ACPI_FAILURE(status)) > + return 1; > + > + adapter = i2c_acpi_find_adapter_by_handle(adapter_handle); > + if (adapter) > + intel_dsi->i2c_bus_num = adapter->nr; > + > + return 1; > +} > + > static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) > { > - DRM_DEBUG_KMS("Skipping I2C element execution\n"); > + struct drm_device *drm_dev = intel_dsi->base.base.dev; > + struct device *dev = &drm_dev->pdev->dev; > + struct i2c_adapter *adapter; > + struct acpi_device *acpi_dev; > + struct list_head resource_list; > + struct i2c_adapter_lookup lookup; > + struct i2c_msg msg; > + int ret; > + u8 vbt_i2c_bus_num = *(data + 2); > + u16 slave_addr = *(u16 *)(data + 3); > + u8 reg_offset = *(data + 5); > + u8 payload_size = *(data + 6); > + u8 *payload_data; > + > + if (intel_dsi->i2c_bus_num < 0) { > + intel_dsi->i2c_bus_num = vbt_i2c_bus_num; > + > + acpi_dev = ACPI_COMPANION(dev); > + if (acpi_dev) { > + memset(&lookup, 0, sizeof(lookup)); > + lookup.slave_addr = slave_addr; > + lookup.intel_dsi = intel_dsi; > + lookup.dev_handle = acpi_device_handle(acpi_dev); > + > + INIT_LIST_HEAD(&resource_list); > + acpi_dev_get_resources(acpi_dev, &resource_list, > + i2c_adapter_lookup, > + &lookup); > + acpi_dev_free_resource_list(&resource_list); > + } > + } > > - return data + *(data + 6) + 7; > + adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); > + if (!adapter) { > + DRM_DEV_ERROR(dev, "Cannot find a valid i2c bus for xfer\n"); > + goto err_bus; > + } > + > + payload_data = kzalloc(payload_size + 1, GFP_KERNEL); > + if (!payload_data) > + goto err_alloc; > + > + payload_data[0] = reg_offset; > + memcpy(&payload_data[1], (data + 7), payload_size); > + > + msg.addr = slave_addr; > + msg.flags = 0; > + msg.len = payload_size + 1; > + msg.buf = payload_data; > + > + ret = i2c_transfer(adapter, &msg, 1); > + if (ret < 0) > + DRM_DEV_ERROR(dev, > + "Failed to xfer payload of size (%u) to reg (%u)\n", > + payload_size, reg_offset); > + > + kfree(payload_data); > +err_alloc: > + i2c_put_adapter(adapter); > +err_bus: > + return data + payload_size + 7; > } > > static const u8 *mipi_exec_spi(struct intel_dsi *intel_dsi, const u8 *data) > @@ -683,6 +776,8 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) > intel_dsi->panel_off_delay = pps->panel_off_delay / 10; > intel_dsi->panel_pwr_cycle_delay = pps->panel_power_cycle_delay / 10; > > + intel_dsi->i2c_bus_num = -1; > + > /* a regular driver would get the device in probe */ > for_each_dsi_port(port, intel_dsi->ports) { > mipi_dsi_attach(intel_dsi->dsi_hosts[port]->device); -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/dsi: Lookup the i2c bus from ACPI NS only if CONFIG_ACPI=y 2020-01-13 11:27 ` Jani Nikula @ 2020-01-13 22:11 ` Vivek Kasireddy 2020-01-14 7:55 ` Jani Nikula 0 siblings, 1 reply; 22+ messages in thread From: Vivek Kasireddy @ 2020-01-13 22:11 UTC (permalink / raw) To: intel-gfx; +Cc: Hulk Robot, Jani Nikula, Zhang Xiaoxu Perform the i2c bus/adapter lookup from ACPI Namespace only if ACPI is enabled in the kernel config. If ACPI is not enabled or if the lookup fails, we'll fallback to using the VBT for identiying the i2c bus. This fixes commit 8cbf89db2941("drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3).") Cc: Hans de Goede <hdegoede@redhat.com> Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Bob Paauwe <bob.j.paauwe@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Jani Nikula <jani.nikula@intel.com> Cc: Zhang Xiaoxu <zhangxiaoxu5@huawei.com> Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> --- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 47 +++++++++++++------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c index 89fb0d90b694..6ec35d975bd7 100644 --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -384,6 +384,7 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data) return data; } +#ifdef CONFIG_ACPI static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) { struct i2c_adapter_lookup *lookup = data; @@ -413,14 +414,41 @@ static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) return 1; } -static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) +static void i2c_acpi_find_adapter(struct intel_dsi *intel_dsi, + const u16 slave_addr) { struct drm_device *drm_dev = intel_dsi->base.base.dev; struct device *dev = &drm_dev->pdev->dev; - struct i2c_adapter *adapter; struct acpi_device *acpi_dev; struct list_head resource_list; struct i2c_adapter_lookup lookup; + + acpi_dev = ACPI_COMPANION(dev); + if (acpi_dev) { + memset(&lookup, 0, sizeof(lookup)); + lookup.slave_addr = slave_addr; + lookup.intel_dsi = intel_dsi; + lookup.dev_handle = acpi_device_handle(acpi_dev); + + INIT_LIST_HEAD(&resource_list); + acpi_dev_get_resources(acpi_dev, &resource_list, + i2c_adapter_lookup, + &lookup); + acpi_dev_free_resource_list(&resource_list); + } +} +#else +static inline void i2c_acpi_find_adapter(struct intel_dsi *intel_dsi, + const u16 slave_addr) +{ +} +#endif + +static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) +{ + struct drm_device *drm_dev = intel_dsi->base.base.dev; + struct device *dev = &drm_dev->pdev->dev; + struct i2c_adapter *adapter; struct i2c_msg msg; int ret; u8 vbt_i2c_bus_num = *(data + 2); @@ -431,20 +459,7 @@ static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) if (intel_dsi->i2c_bus_num < 0) { intel_dsi->i2c_bus_num = vbt_i2c_bus_num; - - acpi_dev = ACPI_COMPANION(dev); - if (acpi_dev) { - memset(&lookup, 0, sizeof(lookup)); - lookup.slave_addr = slave_addr; - lookup.intel_dsi = intel_dsi; - lookup.dev_handle = acpi_device_handle(acpi_dev); - - INIT_LIST_HEAD(&resource_list); - acpi_dev_get_resources(acpi_dev, &resource_list, - i2c_adapter_lookup, - &lookup); - acpi_dev_free_resource_list(&resource_list); - } + i2c_acpi_find_adapter(intel_dsi, slave_addr); } adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); -- 2.21.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Lookup the i2c bus from ACPI NS only if CONFIG_ACPI=y 2020-01-13 22:11 ` [Intel-gfx] [PATCH] drm/i915/dsi: Lookup the i2c bus from ACPI NS only if CONFIG_ACPI=y Vivek Kasireddy @ 2020-01-14 7:55 ` Jani Nikula 0 siblings, 0 replies; 22+ messages in thread From: Jani Nikula @ 2020-01-14 7:55 UTC (permalink / raw) To: Vivek Kasireddy, intel-gfx; +Cc: Hulk Robot, Zhang Xiaoxu On Mon, 13 Jan 2020, Vivek Kasireddy <vivek.kasireddy@intel.com> wrote: > Perform the i2c bus/adapter lookup from ACPI Namespace only if > ACPI is enabled in the kernel config. If ACPI is not enabled or if > the lookup fails, we'll fallback to using the VBT for identiying > the i2c bus. > > This fixes commit 8cbf89db2941("drm/i915/dsi: Parse the I2C element > from the VBT MIPI sequence block (v3).") IOW, Fixes: 8cbf89db2941 ("drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3)") Also, please post as a fresh patch, not in reply in the middle of a thread, to not confuse CI. BR, Jani. > > Cc: Hans de Goede <hdegoede@redhat.com> > Cc: Nabendu Maiti <nabendu.bikash.maiti@intel.com> > Cc: Matt Roper <matthew.d.roper@intel.com> > Cc: Bob Paauwe <bob.j.paauwe@intel.com> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Cc: Jani Nikula <jani.nikula@intel.com> > Cc: Zhang Xiaoxu <zhangxiaoxu5@huawei.com> > Reported-by: Hulk Robot <hulkci@huawei.com> > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com> > --- > drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 47 +++++++++++++------- > 1 file changed, 31 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > index 89fb0d90b694..6ec35d975bd7 100644 > --- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > +++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c > @@ -384,6 +384,7 @@ static const u8 *mipi_exec_gpio(struct intel_dsi *intel_dsi, const u8 *data) > return data; > } > > +#ifdef CONFIG_ACPI > static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) > { > struct i2c_adapter_lookup *lookup = data; > @@ -413,14 +414,41 @@ static int i2c_adapter_lookup(struct acpi_resource *ares, void *data) > return 1; > } > > -static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) > +static void i2c_acpi_find_adapter(struct intel_dsi *intel_dsi, > + const u16 slave_addr) > { > struct drm_device *drm_dev = intel_dsi->base.base.dev; > struct device *dev = &drm_dev->pdev->dev; > - struct i2c_adapter *adapter; > struct acpi_device *acpi_dev; > struct list_head resource_list; > struct i2c_adapter_lookup lookup; > + > + acpi_dev = ACPI_COMPANION(dev); > + if (acpi_dev) { > + memset(&lookup, 0, sizeof(lookup)); > + lookup.slave_addr = slave_addr; > + lookup.intel_dsi = intel_dsi; > + lookup.dev_handle = acpi_device_handle(acpi_dev); > + > + INIT_LIST_HEAD(&resource_list); > + acpi_dev_get_resources(acpi_dev, &resource_list, > + i2c_adapter_lookup, > + &lookup); > + acpi_dev_free_resource_list(&resource_list); > + } > +} > +#else > +static inline void i2c_acpi_find_adapter(struct intel_dsi *intel_dsi, > + const u16 slave_addr) > +{ > +} > +#endif > + > +static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) > +{ > + struct drm_device *drm_dev = intel_dsi->base.base.dev; > + struct device *dev = &drm_dev->pdev->dev; > + struct i2c_adapter *adapter; > struct i2c_msg msg; > int ret; > u8 vbt_i2c_bus_num = *(data + 2); > @@ -431,20 +459,7 @@ static const u8 *mipi_exec_i2c(struct intel_dsi *intel_dsi, const u8 *data) > > if (intel_dsi->i2c_bus_num < 0) { > intel_dsi->i2c_bus_num = vbt_i2c_bus_num; > - > - acpi_dev = ACPI_COMPANION(dev); > - if (acpi_dev) { > - memset(&lookup, 0, sizeof(lookup)); > - lookup.slave_addr = slave_addr; > - lookup.intel_dsi = intel_dsi; > - lookup.dev_handle = acpi_device_handle(acpi_dev); > - > - INIT_LIST_HEAD(&resource_list); > - acpi_dev_get_resources(acpi_dev, &resource_list, > - i2c_adapter_lookup, > - &lookup); > - acpi_dev_free_resource_list(&resource_list); > - } > + i2c_acpi_find_adapter(intel_dsi, slave_addr); > } > > adapter = i2c_get_adapter(intel_dsi->i2c_bus_num); -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev2) 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy 2020-01-03 0:52 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork 2020-01-03 11:05 ` [Intel-gfx] [PATCH] " Hans de Goede @ 2020-01-04 1:22 ` Patchwork 2020-01-04 1:47 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork ` (6 subsequent siblings) 9 siblings, 0 replies; 22+ messages in thread From: Patchwork @ 2020-01-04 1:22 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: intel-gfx == Series Details == Series: drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev2) URL : https://patchwork.freedesktop.org/series/71581/ State : warning == Summary == $ dim checkpatch origin/drm-tip 27998f819a38 drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v2) -:14: WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line) #14: In addition to the refactoring, the original patch is augmented by looking up total: 0 errors, 1 warnings, 0 checks, 129 lines checked _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev2) 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy ` (2 preceding siblings ...) 2020-01-04 1:22 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev2) Patchwork @ 2020-01-04 1:47 ` Patchwork 2020-01-04 10:56 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork ` (5 subsequent siblings) 9 siblings, 0 replies; 22+ messages in thread From: Patchwork @ 2020-01-04 1:47 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: intel-gfx == Series Details == Series: drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev2) URL : https://patchwork.freedesktop.org/series/71581/ State : success == Summary == CI Bug Log - changes from CI_DRM_7675 -> Patchwork_15993 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/index.html Known issues ------------ Here are the changes found in Patchwork_15993 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_close_race@basic-threads: - fi-byt-j1900: [PASS][1] -> [TIMEOUT][2] ([i915#816]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/fi-byt-j1900/igt@gem_close_race@basic-threads.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/fi-byt-j1900/igt@gem_close_race@basic-threads.html * igt@i915_pm_rpm@module-reload: - fi-skl-6770hq: [PASS][3] -> [FAIL][4] ([i915#178]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/fi-skl-6770hq/igt@i915_pm_rpm@module-reload.html * igt@i915_selftest@live_blt: - fi-ivb-3770: [PASS][5] -> [DMESG-FAIL][6] ([i915#725]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/fi-ivb-3770/igt@i915_selftest@live_blt.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/fi-ivb-3770/igt@i915_selftest@live_blt.html * igt@i915_selftest@live_gt_heartbeat: - fi-kbl-guc: [PASS][7] -> [DMESG-FAIL][8] ([fdo#112406]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/fi-kbl-guc/igt@i915_selftest@live_gt_heartbeat.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/fi-kbl-guc/igt@i915_selftest@live_gt_heartbeat.html #### Possible fixes #### * igt@gem_close_race@basic-threads: - fi-byt-n2820: [TIMEOUT][9] ([i915#816]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/fi-byt-n2820/igt@gem_close_race@basic-threads.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/fi-byt-n2820/igt@gem_close_race@basic-threads.html * igt@i915_selftest@live_blt: - fi-hsw-4770r: [DMESG-FAIL][11] ([i915#725]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/fi-hsw-4770r/igt@i915_selftest@live_blt.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/fi-hsw-4770r/igt@i915_selftest@live_blt.html * igt@i915_selftest@live_gem_contexts: - fi-hsw-peppy: [DMESG-FAIL][13] ([i915#722]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/fi-hsw-peppy/igt@i915_selftest@live_gem_contexts.html * igt@kms_chamelium@hdmi-hpd-fast: - fi-kbl-7500u: [FAIL][15] ([i915#217]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html #### Warnings #### * igt@i915_module_load@reload-with-fault-injection: - fi-skl-6770hq: [DMESG-WARN][17] ([i915#889]) -> [DMESG-WARN][18] ([i915#88]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/fi-skl-6770hq/igt@i915_module_load@reload-with-fault-injection.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/fi-skl-6770hq/igt@i915_module_load@reload-with-fault-injection.html * igt@kms_chamelium@vga-edid-read: - fi-icl-u2: [SKIP][19] ([fdo#109309]) -> [FAIL][20] ([i915#217]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/fi-icl-u2/igt@kms_chamelium@vga-edid-read.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/fi-icl-u2/igt@kms_chamelium@vga-edid-read.html [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309 [fdo#112406]: https://bugs.freedesktop.org/show_bug.cgi?id=112406 [i915#178]: https://gitlab.freedesktop.org/drm/intel/issues/178 [i915#217]: https://gitlab.freedesktop.org/drm/intel/issues/217 [i915#722]: https://gitlab.freedesktop.org/drm/intel/issues/722 [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725 [i915#816]: https://gitlab.freedesktop.org/drm/intel/issues/816 [i915#88]: https://gitlab.freedesktop.org/drm/intel/issues/88 [i915#889]: https://gitlab.freedesktop.org/drm/intel/issues/889 Participating hosts (52 -> 43) ------------------------------ Missing (9): fi-ilk-m540 fi-hsw-4200u fi-glk-dsi fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-elk-e7500 fi-byt-clapper fi-bdw-samus Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7675 -> Patchwork_15993 CI-20190529: 20190529 CI_DRM_7675: 9a97e886930c21e976205c47180ab256a6dbc135 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5357: a555a4b98f90dab655d24bb3d07e9291a8b8dac8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_15993: 27998f819a388a0db0ae85764219c018b0cacb1b @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 27998f819a38 drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v2) == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev2) 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy ` (3 preceding siblings ...) 2020-01-04 1:47 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2020-01-04 10:56 ` Patchwork 2020-01-10 21:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev3) Patchwork ` (4 subsequent siblings) 9 siblings, 0 replies; 22+ messages in thread From: Patchwork @ 2020-01-04 10:56 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: intel-gfx == Series Details == Series: drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev2) URL : https://patchwork.freedesktop.org/series/71581/ State : failure == Summary == CI Bug Log - changes from CI_DRM_7675_full -> Patchwork_15993_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_15993_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_15993_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_15993_full: ### IGT changes ### #### Possible regressions #### * igt@kms_rotation_crc@primary-y-tiled-reflect-x-0: - shard-tglb: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb7/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb6/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * {igt@gem_exec_schedule@pi-distinct-iova-render}: - shard-glk: [PASS][3] -> [FAIL][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-glk4/igt@gem_exec_schedule@pi-distinct-iova-render.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-glk5/igt@gem_exec_schedule@pi-distinct-iova-render.html New tests --------- New tests have been introduced between CI_DRM_7675_full and Patchwork_15993_full: ### New Piglit tests (11) ### * spec@arb_vertex_attrib_64bit@execution@vs_in@vs-input-double_dmat4x2-position-double_dmat4x2_array2: - Statuses : 1 fail(s) - Exec time: [0.16] s * spec@arb_vertex_attrib_64bit@execution@vs_in@vs-input-uint_uvec4_array3-double_dmat2x4_array2-position: - Statuses : 1 fail(s) - Exec time: [0.17] s * spec@glsl-4.20@execution@vs_in@vs-input-double_dvec3_array3-position-double_dmat2x4: - Statuses : 1 fail(s) - Exec time: [0.14] s * spec@glsl-4.20@execution@vs_in@vs-input-position-double_dvec2_array3-double_dvec2_array2: - Statuses : 1 fail(s) - Exec time: [0.14] s * spec@glsl-4.20@execution@vs_in@vs-input-position-ubyte_uint-short_ivec2-double_dvec4: - Statuses : 1 fail(s) - Exec time: [0.19] s * spec@glsl-4.20@execution@vs_in@vs-input-ubyte_uint-position-short_ivec3-double_dmat2x3: - Statuses : 1 fail(s) - Exec time: [0.12] s * spec@glsl-es-3.00@execution@built-in-functions@fs-packsnorm2x16: - Statuses : 1 fail(s) - Exec time: [6.69] s * spec@glsl-es-3.00@execution@built-in-functions@fs-unpackunorm2x16: - Statuses : 1 fail(s) - Exec time: [6.12] s * spec@glsl-es-3.00@execution@built-in-functions@vs-packhalf2x16: - Statuses : 1 fail(s) - Exec time: [9.88] s * spec@glsl-es-3.00@execution@built-in-functions@vs-packunorm2x16: - Statuses : 1 fail(s) - Exec time: [6.41] s * spec@glsl-es-3.00@execution@built-in-functions@vs-unpackunorm2x16: - Statuses : 1 fail(s) - Exec time: [6.24] s Known issues ------------ Here are the changes found in Patchwork_15993_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_busy@busy-vcs1: - shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#112080]) +8 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-iclb1/igt@gem_busy@busy-vcs1.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-iclb6/igt@gem_busy@busy-vcs1.html * igt@gem_busy@close-race: - shard-tglb: [PASS][7] -> [INCOMPLETE][8] ([i915#435]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb5/igt@gem_busy@close-race.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb3/igt@gem_busy@close-race.html * igt@gem_ctx_isolation@vcs1-none: - shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#109276] / [fdo#112080]) +2 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-iclb4/igt@gem_ctx_isolation@vcs1-none.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-iclb6/igt@gem_ctx_isolation@vcs1-none.html * igt@gem_ctx_persistence@processes: - shard-tglb: [PASS][11] -> [FAIL][12] ([i915#570]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb5/igt@gem_ctx_persistence@processes.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb9/igt@gem_ctx_persistence@processes.html * igt@gem_exec_gttfill@basic: - shard-tglb: [PASS][13] -> [INCOMPLETE][14] ([fdo#111593]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb7/igt@gem_exec_gttfill@basic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb7/igt@gem_exec_gttfill@basic.html * igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd: - shard-iclb: [PASS][15] -> [SKIP][16] ([fdo#112146]) +4 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-iclb8/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-iclb4/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd.html * igt@gem_exec_schedule@preempt-queue-contexts-chain-vebox: - shard-tglb: [PASS][17] -> [INCOMPLETE][18] ([fdo#111606] / [fdo#111677]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb1/igt@gem_exec_schedule@preempt-queue-contexts-chain-vebox.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb8/igt@gem_exec_schedule@preempt-queue-contexts-chain-vebox.html * igt@gem_persistent_relocs@forked-thrash-inactive: - shard-tglb: [PASS][19] -> [TIMEOUT][20] ([fdo#112126] / [i915#530]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb8/igt@gem_persistent_relocs@forked-thrash-inactive.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb3/igt@gem_persistent_relocs@forked-thrash-inactive.html * igt@gem_pipe_control_store_loop@reused-buffer: - shard-tglb: [PASS][21] -> [INCOMPLETE][22] ([i915#707] / [i915#796]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb5/igt@gem_pipe_control_store_loop@reused-buffer.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb9/igt@gem_pipe_control_store_loop@reused-buffer.html * igt@gem_sync@basic-store-all: - shard-tglb: [PASS][23] -> [INCOMPLETE][24] ([i915#472]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb1/igt@gem_sync@basic-store-all.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb5/igt@gem_sync@basic-store-all.html * igt@i915_selftest@live_gtt: - shard-skl: [PASS][25] -> [TIMEOUT][26] ([fdo#111732]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl7/igt@i915_selftest@live_gtt.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl5/igt@i915_selftest@live_gtt.html * igt@kms_color@pipe-a-ctm-0-75: - shard-skl: [PASS][27] -> [DMESG-WARN][28] ([i915#109]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl6/igt@kms_color@pipe-a-ctm-0-75.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl6/igt@kms_color@pipe-a-ctm-0-75.html * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic: - shard-glk: [PASS][29] -> [FAIL][30] ([i915#72]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-glk8/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-glk8/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html * igt@kms_frontbuffer_tracking@fbc-stridechange: - shard-tglb: [PASS][31] -> [FAIL][32] ([i915#49]) +1 similar issue [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb9/igt@kms_frontbuffer_tracking@fbc-stridechange.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb7/igt@kms_frontbuffer_tracking@fbc-stridechange.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes: - shard-apl: [PASS][33] -> [DMESG-WARN][34] ([i915#180]) +5 similar issues [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-apl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-apl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [PASS][35] -> [FAIL][36] ([fdo#108145] / [i915#265]) +1 similar issue [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl10/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_plane_multiple@atomic-pipe-a-tiling-yf: - shard-skl: [PASS][37] -> [DMESG-WARN][38] ([IGT#6]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl4/igt@kms_plane_multiple@atomic-pipe-a-tiling-yf.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl1/igt@kms_plane_multiple@atomic-pipe-a-tiling-yf.html * igt@kms_setmode@basic: - shard-apl: [PASS][39] -> [FAIL][40] ([i915#31]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-apl4/igt@kms_setmode@basic.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-apl2/igt@kms_setmode@basic.html * igt@kms_vblank@pipe-b-ts-continuation-suspend: - shard-kbl: [PASS][41] -> [DMESG-WARN][42] ([i915#180]) +1 similar issue [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-kbl3/igt@kms_vblank@pipe-b-ts-continuation-suspend.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-kbl7/igt@kms_vblank@pipe-b-ts-continuation-suspend.html * igt@perf_pmu@enable-race-vecs0: - shard-tglb: [PASS][43] -> [INCOMPLETE][44] ([i915#470] / [i915#923]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb2/igt@perf_pmu@enable-race-vecs0.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb2/igt@perf_pmu@enable-race-vecs0.html * igt@prime_busy@hang-bsd2: - shard-iclb: [PASS][45] -> [SKIP][46] ([fdo#109276]) +12 similar issues [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-iclb2/igt@prime_busy@hang-bsd2.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-iclb7/igt@prime_busy@hang-bsd2.html #### Possible fixes #### * igt@gem_ctx_isolation@rcs0-s3: - shard-kbl: [DMESG-WARN][47] ([i915#180]) -> [PASS][48] +4 similar issues [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-kbl7/igt@gem_ctx_isolation@rcs0-s3.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-kbl3/igt@gem_ctx_isolation@rcs0-s3.html * igt@gem_ctx_isolation@vcs1-reset: - shard-iclb: [SKIP][49] ([fdo#109276] / [fdo#112080]) -> [PASS][50] +2 similar issues [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-iclb7/igt@gem_ctx_isolation@vcs1-reset.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-iclb2/igt@gem_ctx_isolation@vcs1-reset.html * igt@gem_ctx_persistence@processes: - shard-glk: [FAIL][51] ([i915#570]) -> [PASS][52] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-glk8/igt@gem_ctx_persistence@processes.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-glk6/igt@gem_ctx_persistence@processes.html * igt@gem_ctx_shared@q-smoketest-vebox: - shard-tglb: [INCOMPLETE][53] ([fdo#111735]) -> [PASS][54] +1 similar issue [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb3/igt@gem_ctx_shared@q-smoketest-vebox.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb5/igt@gem_ctx_shared@q-smoketest-vebox.html * igt@gem_exec_schedule@fifo-bsd1: - shard-iclb: [SKIP][55] ([fdo#109276]) -> [PASS][56] +12 similar issues [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-iclb8/igt@gem_exec_schedule@fifo-bsd1.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-iclb2/igt@gem_exec_schedule@fifo-bsd1.html * igt@gem_exec_schedule@preempt-bsd: - shard-iclb: [SKIP][57] ([fdo#112146]) -> [PASS][58] +1 similar issue [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-iclb1/igt@gem_exec_schedule@preempt-bsd.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-iclb6/igt@gem_exec_schedule@preempt-bsd.html * igt@gem_exec_schedule@preempt-other-bsd1: - shard-tglb: [INCOMPLETE][59] -> [PASS][60] +1 similar issue [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb6/igt@gem_exec_schedule@preempt-other-bsd1.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb7/igt@gem_exec_schedule@preempt-other-bsd1.html * igt@gem_exec_schedule@preempt-queue-bsd1: - shard-tglb: [INCOMPLETE][61] ([fdo#111677]) -> [PASS][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb8/igt@gem_exec_schedule@preempt-queue-bsd1.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb6/igt@gem_exec_schedule@preempt-queue-bsd1.html * igt@gem_exec_schedule@preempt-queue-bsd2: - shard-tglb: [INCOMPLETE][63] ([fdo#111606] / [fdo#111677]) -> [PASS][64] +1 similar issue [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb8/igt@gem_exec_schedule@preempt-queue-bsd2.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb7/igt@gem_exec_schedule@preempt-queue-bsd2.html * igt@gem_exec_suspend@basic-s0: - shard-tglb: [INCOMPLETE][65] ([i915#472]) -> [PASS][66] [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb9/igt@gem_exec_suspend@basic-s0.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb1/igt@gem_exec_suspend@basic-s0.html * igt@i915_selftest@live_gt_timelines: - shard-tglb: [INCOMPLETE][67] ([i915#455]) -> [PASS][68] [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb6/igt@i915_selftest@live_gt_timelines.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb8/igt@i915_selftest@live_gt_timelines.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-skl: [INCOMPLETE][69] ([i915#69]) -> [PASS][70] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl6/igt@i915_suspend@fence-restore-tiled2untiled.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl3/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@kms_color@pipe-a-ctm-green-to-red: - shard-skl: [FAIL][71] ([i915#129]) -> [PASS][72] [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl4/igt@kms_color@pipe-a-ctm-green-to-red.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl1/igt@kms_color@pipe-a-ctm-green-to-red.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic: - shard-skl: [FAIL][73] ([IGT#5]) -> [PASS][74] [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl9/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html * igt@kms_draw_crc@draw-method-rgb565-blt-ytiled: - shard-skl: [FAIL][75] ([i915#52] / [i915#54]) -> [PASS][76] +1 similar issue [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl8/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl8/igt@kms_draw_crc@draw-method-rgb565-blt-ytiled.html * igt@kms_flip@flip-vs-expired-vblank: - shard-apl: [FAIL][77] ([i915#79]) -> [PASS][78] [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-apl1/igt@kms_flip@flip-vs-expired-vblank.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-apl3/igt@kms_flip@flip-vs-expired-vblank.html * igt@kms_flip@plain-flip-fb-recreate: - shard-skl: [FAIL][79] ([i915#34]) -> [PASS][80] [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl2/igt@kms_flip@plain-flip-fb-recreate.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl2/igt@kms_flip@plain-flip-fb-recreate.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt: - shard-tglb: [FAIL][81] ([i915#49]) -> [PASS][82] +2 similar issues [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html * igt@kms_frontbuffer_tracking@fbc-suspend: - shard-apl: [DMESG-WARN][83] ([i915#180]) -> [PASS][84] +1 similar issue [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-apl4/igt@kms_frontbuffer_tracking@fbc-suspend.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-apl7/igt@kms_frontbuffer_tracking@fbc-suspend.html * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc: - shard-skl: [FAIL][85] ([i915#49]) -> [PASS][86] [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html * igt@kms_plane@plane-position-covered-pipe-a-planes: - shard-skl: [FAIL][87] ([i915#247]) -> [PASS][88] [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl4/igt@kms_plane@plane-position-covered-pipe-a-planes.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl1/igt@kms_plane@plane-position-covered-pipe-a-planes.html * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min: - shard-skl: [FAIL][89] ([fdo#108145]) -> [PASS][90] +2 similar issues [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-skl7/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html * igt@kms_psr@psr2_primary_blt: - shard-iclb: [SKIP][91] ([fdo#109441]) -> [PASS][92] [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-iclb7/igt@kms_psr@psr2_primary_blt.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-iclb2/igt@kms_psr@psr2_primary_blt.html * igt@perf_pmu@init-busy-vcs1: - shard-iclb: [SKIP][93] ([fdo#112080]) -> [PASS][94] +8 similar issues [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-iclb7/igt@perf_pmu@init-busy-vcs1.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-iclb2/igt@perf_pmu@init-busy-vcs1.html #### Warnings #### * igt@gem_ctx_isolation@vcs1-nonpriv: - shard-iclb: [SKIP][95] ([fdo#109276] / [fdo#112080]) -> [FAIL][96] ([IGT#28]) [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-iclb6/igt@gem_ctx_isolation@vcs1-nonpriv.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-iclb4/igt@gem_ctx_isolation@vcs1-nonpriv.html * igt@gem_ctx_isolation@vcs2-nonpriv: - shard-tglb: [SKIP][97] ([fdo#112080]) -> [SKIP][98] ([fdo#111912] / [fdo#112080]) +1 similar issue [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb9/igt@gem_ctx_isolation@vcs2-nonpriv.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb2/igt@gem_ctx_isolation@vcs2-nonpriv.html * igt@i915_pm_dc@dc6-dpms: - shard-tglb: [FAIL][99] ([i915#454]) -> [SKIP][100] ([i915#468]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7675/shard-tglb7/igt@i915_pm_dc@dc6-dpms.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/shard-tglb2/igt@i915_pm_dc@dc6-dpms.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28 [IGT#5]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/5 [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#111593]: https://bugs.freedesktop.org/show_bug.cgi?id=111593 [fdo#111606]: https://bugs.freedesktop.org/show_bug.cgi?id=111606 [fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677 [fdo#111732]: https://bugs.freedesktop.org/show_bug.cgi?id=111732 [fdo#111735]: https://bugs.freedesktop.org/show_bug.cgi?id=111735 [fdo#111912]: https://bugs.freedesktop.org/show_bug.cgi?id=111912 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [fdo#112126]: https://bugs.freedesktop.org/show_bug.cgi?id=112126 [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146 [i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109 [i915#129]: https://gitlab.freedesktop.org/drm/intel/issues/129 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#247]: https://gitlab.freedesktop.org/drm/intel/issues/247 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31 [i915#34]: https://gitlab.freedesktop.org/drm/intel/issues/34 [i915#435]: https://gitlab.freedesktop.org/drm/intel/issues/435 [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454 [i915#455]: https://gitlab.freedesktop.org/drm/intel/issues/455 [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468 [i915#470]: https://gitlab.freedesktop.org/drm/intel/issues/470 [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472 [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49 [i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52 [i915#530]: https://gitlab.freedesktop.org/drm/intel/issues/530 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#570]: https://gitlab.freedesktop.org/drm/intel/issues/570 [i915#69]: https://gitlab.freedesktop.org/drm/intel/issues/69 [i915#707]: https://gitlab.freedesktop.org/drm/intel/issues/707 [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#796]: https://gitlab.freedesktop.org/drm/intel/issues/796 [i915#923]: https://gitlab.freedesktop.org/drm/intel/issues/923 Participating hosts (10 -> 11) ------------------------------ Additional (1): pig-hsw-4770r Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7675 -> Patchwork_15993 CI-20190529: 20190529 CI_DRM_7675: 9a97e886930c21e976205c47180ab256a6dbc135 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5357: a555a4b98f90dab655d24bb3d07e9291a8b8dac8 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_15993: 27998f819a388a0db0ae85764219c018b0cacb1b @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15993/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev3) 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy ` (4 preceding siblings ...) 2020-01-04 10:56 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork @ 2020-01-10 21:20 ` Patchwork 2020-01-14 0:15 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) Patchwork ` (3 subsequent siblings) 9 siblings, 0 replies; 22+ messages in thread From: Patchwork @ 2020-01-10 21:20 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: intel-gfx == Series Details == Series: drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev3) URL : https://patchwork.freedesktop.org/series/71581/ State : failure == Summary == Applying: drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3) Using index info to reconstruct a base tree... M drivers/gpu/drm/i915/display/intel_dsi.h M drivers/gpu/drm/i915/display/intel_dsi_vbt.c Falling back to patching base and 3-way merge... No changes -- Patch already applied. _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy ` (5 preceding siblings ...) 2020-01-10 21:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev3) Patchwork @ 2020-01-14 0:15 ` Patchwork 2020-01-14 0:45 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork ` (2 subsequent siblings) 9 siblings, 0 replies; 22+ messages in thread From: Patchwork @ 2020-01-14 0:15 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: intel-gfx == Series Details == Series: drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) URL : https://patchwork.freedesktop.org/series/71581/ State : warning == Summary == $ dim checkpatch origin/drm-tip b0cb0e2f41fc drm/i915/dsi: Lookup the i2c bus from ACPI NS only if CONFIG_ACPI=y -:15: ERROR:GIT_COMMIT_ID: Please use git commit description style 'commit <12+ chars of sha1> ("<title line>")' - ie: 'commit 8cbf89db2941 ("drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3)")' #15: This fixes commit 8cbf89db2941("drm/i915/dsi: Parse the I2C element total: 1 errors, 0 warnings, 0 checks, 71 lines checked _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy ` (6 preceding siblings ...) 2020-01-14 0:15 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) Patchwork @ 2020-01-14 0:45 ` Patchwork 2020-01-14 0:45 ` [Intel-gfx] ✗ Fi.CI.BUILD: warning " Patchwork 2020-01-16 6:48 ` [Intel-gfx] ✓ Fi.CI.IGT: success " Patchwork 9 siblings, 0 replies; 22+ messages in thread From: Patchwork @ 2020-01-14 0:45 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: intel-gfx == Series Details == Series: drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) URL : https://patchwork.freedesktop.org/series/71581/ State : success == Summary == CI Bug Log - changes from CI_DRM_7737 -> Patchwork_16086 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/index.html Known issues ------------ Here are the changes found in Patchwork_16086 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_basic@bad-close: - fi-icl-dsi: [PASS][1] -> [DMESG-WARN][2] ([i915#109]) +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/fi-icl-dsi/igt@gem_basic@bad-close.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/fi-icl-dsi/igt@gem_basic@bad-close.html * igt@i915_selftest@live_active: - fi-icl-y: [PASS][3] -> [DMESG-FAIL][4] ([i915#765]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/fi-icl-y/igt@i915_selftest@live_active.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/fi-icl-y/igt@i915_selftest@live_active.html #### Possible fixes #### * igt@gem_exec_fence@basic-wait-default: - {fi-ehl-1}: [INCOMPLETE][5] ([i915#937]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/fi-ehl-1/igt@gem_exec_fence@basic-wait-default.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/fi-ehl-1/igt@gem_exec_fence@basic-wait-default.html #### Warnings #### * igt@i915_selftest@live_blt: - fi-hsw-4770: [DMESG-FAIL][7] ([i915#553] / [i915#725]) -> [DMESG-FAIL][8] ([i915#725]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/fi-hsw-4770/igt@i915_selftest@live_blt.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/fi-hsw-4770/igt@i915_selftest@live_blt.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109 [i915#553]: https://gitlab.freedesktop.org/drm/intel/issues/553 [i915#725]: https://gitlab.freedesktop.org/drm/intel/issues/725 [i915#765]: https://gitlab.freedesktop.org/drm/intel/issues/765 [i915#937]: https://gitlab.freedesktop.org/drm/intel/issues/937 Participating hosts (40 -> 40) ------------------------------ Additional (5): fi-hsw-peppy fi-ilk-650 fi-gdg-551 fi-ivb-3770 fi-blb-e6850 Missing (5): fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7737 -> Patchwork_16086 CI-20190529: 20190529 CI_DRM_7737: 2a331333791d2e499ac843e1dc25cd8ea5bdc81f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5364: b7cb6ffdb65cbd233f5ddee2f2dabf97b34fa640 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_16086: b0cb0e2f41fc1cdfa12e5e26b43812746b140c47 @ git://anongit.freedesktop.org/gfx-ci/linux == Kernel 32bit build == Warning: Kernel 32bit buildtest failed: https://intel-gfx-ci.01.org/Patchwork_16086/build_32bit.log CALL scripts/checksyscalls.sh CALL scripts/atomic/check-atomics.sh CHK include/generated/compile.h Kernel: arch/x86/boot/bzImage is ready (#1) Building modules, stage 2. MODPOST 122 modules ERROR: "__udivdi3" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined! scripts/Makefile.modpost:93: recipe for target '__modpost' failed make[1]: *** [__modpost] Error 1 Makefile:1282: recipe for target 'modules' failed make: *** [modules] Error 2 == Linux commits == b0cb0e2f41fc drm/i915/dsi: Lookup the i2c bus from ACPI NS only if CONFIG_ACPI=y == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BUILD: warning for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy ` (7 preceding siblings ...) 2020-01-14 0:45 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2020-01-14 0:45 ` Patchwork 2020-01-16 6:48 ` [Intel-gfx] ✓ Fi.CI.IGT: success " Patchwork 9 siblings, 0 replies; 22+ messages in thread From: Patchwork @ 2020-01-14 0:45 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: intel-gfx == Series Details == Series: drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) URL : https://patchwork.freedesktop.org/series/71581/ State : warning == Summary == CALL scripts/checksyscalls.sh CALL scripts/atomic/check-atomics.sh CHK include/generated/compile.h Kernel: arch/x86/boot/bzImage is ready (#1) Building modules, stage 2. MODPOST 122 modules ERROR: "__udivdi3" [drivers/gpu/drm/amd/amdgpu/amdgpu.ko] undefined! scripts/Makefile.modpost:93: recipe for target '__modpost' failed make[1]: *** [__modpost] Error 1 Makefile:1282: recipe for target 'modules' failed make: *** [modules] Error 2 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/build_32bit.log _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy ` (8 preceding siblings ...) 2020-01-14 0:45 ` [Intel-gfx] ✗ Fi.CI.BUILD: warning " Patchwork @ 2020-01-16 6:48 ` Patchwork 9 siblings, 0 replies; 22+ messages in thread From: Patchwork @ 2020-01-16 6:48 UTC (permalink / raw) To: Vivek Kasireddy; +Cc: intel-gfx == Series Details == Series: drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) URL : https://patchwork.freedesktop.org/series/71581/ State : success == Summary == CI Bug Log - changes from CI_DRM_7737_full -> Patchwork_16086_full ==================================================== Summary ------- **SUCCESS** No regressions found. Known issues ------------ Here are the changes found in Patchwork_16086_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@rcs0-s3: - shard-kbl: [PASS][1] -> [DMESG-WARN][2] ([i915#180]) +5 similar issues [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-kbl6/igt@gem_ctx_isolation@rcs0-s3.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-kbl2/igt@gem_ctx_isolation@rcs0-s3.html * igt@gem_ctx_persistence@vcs1-cleanup: - shard-iclb: [PASS][3] -> [SKIP][4] ([fdo#109276] / [fdo#112080]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb2/igt@gem_ctx_persistence@vcs1-cleanup.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb6/igt@gem_ctx_persistence@vcs1-cleanup.html * igt@gem_ctx_persistence@vcs1-mixed-process: - shard-iclb: [PASS][5] -> [FAIL][6] ([i915#679]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb4/igt@gem_ctx_persistence@vcs1-mixed-process.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb4/igt@gem_ctx_persistence@vcs1-mixed-process.html * igt@gem_eio@in-flight-contexts-1us: - shard-snb: [PASS][7] -> [FAIL][8] ([i915#490]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb2/igt@gem_eio@in-flight-contexts-1us.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-snb4/igt@gem_eio@in-flight-contexts-1us.html * igt@gem_exec_balancer@nop: - shard-tglb: [PASS][9] -> [INCOMPLETE][10] ([fdo#111736] / [i915#472]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb4/igt@gem_exec_balancer@nop.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb3/igt@gem_exec_balancer@nop.html * igt@gem_exec_nop@basic-series: - shard-tglb: [PASS][11] -> [INCOMPLETE][12] ([i915#472]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb4/igt@gem_exec_nop@basic-series.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb1/igt@gem_exec_nop@basic-series.html * igt@gem_exec_parallel@vcs1-fds: - shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#112080]) +8 similar issues [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb1/igt@gem_exec_parallel@vcs1-fds.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb3/igt@gem_exec_parallel@vcs1-fds.html * igt@gem_exec_schedule@pi-shared-iova-bsd: - shard-iclb: [PASS][15] -> [SKIP][16] ([i915#677]) +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb5/igt@gem_exec_schedule@pi-shared-iova-bsd.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb2/igt@gem_exec_schedule@pi-shared-iova-bsd.html * igt@gem_exec_schedule@preemptive-hang-bsd: - shard-iclb: [PASS][17] -> [SKIP][18] ([fdo#112146]) +7 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb3/igt@gem_exec_schedule@preemptive-hang-bsd.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb1/igt@gem_exec_schedule@preemptive-hang-bsd.html * igt@gem_persistent_relocs@forked-interruptible-thrash-inactive: - shard-apl: [PASS][19] -> [TIMEOUT][20] ([fdo#112271] / [i915#530]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-apl3/igt@gem_persistent_relocs@forked-interruptible-thrash-inactive.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-apl2/igt@gem_persistent_relocs@forked-interruptible-thrash-inactive.html * igt@gem_ppgtt@flink-and-close-vma-leak: - shard-glk: [PASS][21] -> [FAIL][22] ([i915#644]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-glk7/igt@gem_ppgtt@flink-and-close-vma-leak.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-glk5/igt@gem_ppgtt@flink-and-close-vma-leak.html * igt@gen9_exec_parse@allowed-all: - shard-kbl: [PASS][23] -> [DMESG-WARN][24] ([i915#716]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-kbl1/igt@gen9_exec_parse@allowed-all.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-kbl1/igt@gen9_exec_parse@allowed-all.html * igt@i915_pm_dc@dc6-dpms: - shard-iclb: [PASS][25] -> [FAIL][26] ([i915#454]) +1 similar issue [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb1/igt@i915_pm_dc@dc6-dpms.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb3/igt@i915_pm_dc@dc6-dpms.html * igt@i915_pm_rpm@system-suspend-execbuf: - shard-skl: [PASS][27] -> [INCOMPLETE][28] ([i915#151] / [i915#69]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-skl6/igt@i915_pm_rpm@system-suspend-execbuf.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-skl3/igt@i915_pm_rpm@system-suspend-execbuf.html * igt@kms_color@pipe-a-ctm-0-5: - shard-skl: [PASS][29] -> [DMESG-WARN][30] ([i915#109]) +1 similar issue [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-skl6/igt@kms_color@pipe-a-ctm-0-5.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-skl7/igt@kms_color@pipe-a-ctm-0-5.html * igt@kms_cursor_crc@pipe-b-cursor-64x64-random: - shard-hsw: [PASS][31] -> [DMESG-WARN][32] ([IGT#6]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-hsw7/igt@kms_cursor_crc@pipe-b-cursor-64x64-random.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-hsw7/igt@kms_cursor_crc@pipe-b-cursor-64x64-random.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-apl: [PASS][33] -> [DMESG-WARN][34] ([i915#180]) +1 similar issue [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-apl3/igt@kms_flip@flip-vs-suspend-interruptible.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite: - shard-tglb: [PASS][35] -> [FAIL][36] ([i915#49]) +1 similar issue [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite.html * igt@kms_psr@no_drrs: - shard-iclb: [PASS][37] -> [FAIL][38] ([i915#173]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb5/igt@kms_psr@no_drrs.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb1/igt@kms_psr@no_drrs.html * igt@kms_psr@psr2_primary_mmap_cpu: - shard-iclb: [PASS][39] -> [SKIP][40] ([fdo#109441]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb6/igt@kms_psr@psr2_primary_mmap_cpu.html * igt@kms_setmode@basic: - shard-apl: [PASS][41] -> [FAIL][42] ([i915#31]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-apl1/igt@kms_setmode@basic.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-apl8/igt@kms_setmode@basic.html * igt@perf_pmu@enable-race-vcs0: - shard-tglb: [PASS][43] -> [INCOMPLETE][44] ([i915#472] / [i915#480]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb7/igt@perf_pmu@enable-race-vcs0.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb5/igt@perf_pmu@enable-race-vcs0.html * igt@prime_vgem@fence-wait-bsd2: - shard-iclb: [PASS][45] -> [SKIP][46] ([fdo#109276]) +13 similar issues [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb1/igt@prime_vgem@fence-wait-bsd2.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb3/igt@prime_vgem@fence-wait-bsd2.html * igt@prime_vgem@sync-render: - shard-tglb: [PASS][47] -> [INCOMPLETE][48] ([i915#409]) [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb3/igt@prime_vgem@sync-render.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb8/igt@prime_vgem@sync-render.html #### Possible fixes #### * igt@gem_busy@extended-parallel-vcs1: - shard-iclb: [SKIP][49] ([fdo#112080]) -> [PASS][50] +8 similar issues [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb3/igt@gem_busy@extended-parallel-vcs1.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb1/igt@gem_busy@extended-parallel-vcs1.html * igt@gem_ctx_isolation@bcs0-s3: - shard-apl: [DMESG-WARN][51] ([i915#180]) -> [PASS][52] +3 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-apl1/igt@gem_ctx_isolation@bcs0-s3.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-apl3/igt@gem_ctx_isolation@bcs0-s3.html * igt@gem_ctx_isolation@vcs1-dirty-create: - shard-iclb: [SKIP][53] ([fdo#109276] / [fdo#112080]) -> [PASS][54] [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb8/igt@gem_ctx_isolation@vcs1-dirty-create.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb4/igt@gem_ctx_isolation@vcs1-dirty-create.html * igt@gem_ctx_isolation@vecs0-s3: - shard-iclb: [DMESG-WARN][55] ([fdo#111764]) -> [PASS][56] [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb8/igt@gem_ctx_isolation@vecs0-s3.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb4/igt@gem_ctx_isolation@vecs0-s3.html * igt@gem_exec_schedule@pi-distinct-iova-bsd: - shard-iclb: [SKIP][57] ([i915#677]) -> [PASS][58] [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb2/igt@gem_exec_schedule@pi-distinct-iova-bsd.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb6/igt@gem_exec_schedule@pi-distinct-iova-bsd.html * igt@gem_exec_schedule@pi-shared-iova-bsd2: - shard-iclb: [SKIP][59] ([fdo#109276]) -> [PASS][60] +13 similar issues [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb5/igt@gem_exec_schedule@pi-shared-iova-bsd2.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb1/igt@gem_exec_schedule@pi-shared-iova-bsd2.html * igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd: - shard-iclb: [SKIP][61] ([fdo#112146]) -> [PASS][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb1/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb3/igt@gem_exec_schedule@preempt-queue-contexts-chain-bsd.html * igt@gem_exec_suspend@basic-s3: - shard-tglb: [INCOMPLETE][63] ([fdo#111736] / [i915#460] / [i915#472]) -> [PASS][64] [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb3/igt@gem_exec_suspend@basic-s3.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb4/igt@gem_exec_suspend@basic-s3.html * igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive: - shard-glk: [TIMEOUT][65] ([fdo#112271] / [i915#530]) -> [PASS][66] [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-glk9/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-glk1/igt@gem_persistent_relocs@forked-interruptible-faulting-reloc-thrash-inactive.html * igt@gem_tiled_blits@normal: - shard-tglb: [INCOMPLETE][67] -> [PASS][68] [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb2/igt@gem_tiled_blits@normal.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb4/igt@gem_tiled_blits@normal.html * igt@i915_pm_dc@dc5-dpms: - shard-iclb: [FAIL][69] ([i915#447]) -> [PASS][70] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb3/igt@i915_pm_dc@dc5-dpms.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb2/igt@i915_pm_dc@dc5-dpms.html * igt@i915_pm_rps@reset: - shard-iclb: [FAIL][71] ([i915#413]) -> [PASS][72] +1 similar issue [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb6/igt@i915_pm_rps@reset.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb3/igt@i915_pm_rps@reset.html * igt@kms_color@pipe-a-ctm-green-to-red: - shard-skl: [DMESG-WARN][73] ([i915#109]) -> [PASS][74] [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-skl8/igt@kms_color@pipe-a-ctm-green-to-red.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-skl7/igt@kms_color@pipe-a-ctm-green-to-red.html * igt@kms_cursor_crc@pipe-c-cursor-suspend: - shard-kbl: [DMESG-WARN][75] ([i915#180]) -> [PASS][76] +7 similar issues [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html * igt@kms_flip@flip-vs-expired-vblank: - shard-skl: [FAIL][77] ([i915#79]) -> [PASS][78] [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-skl1/igt@kms_flip@flip-vs-expired-vblank.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-skl3/igt@kms_flip@flip-vs-expired-vblank.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw: - shard-tglb: [FAIL][79] ([i915#49]) -> [PASS][80] +2 similar issues [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b: - shard-snb: [SKIP][81] ([fdo#109271]) -> [PASS][82] +3 similar issues [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb2/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-snb1/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-b.html * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc: - shard-skl: [FAIL][83] ([fdo#108145]) -> [PASS][84] [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-skl2/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-skl5/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [FAIL][85] ([fdo#108145] / [i915#265]) -> [PASS][86] [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-skl10/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_psr@psr2_cursor_plane_move: - shard-iclb: [SKIP][87] ([fdo#109441]) -> [PASS][88] +3 similar issues [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb3/igt@kms_psr@psr2_cursor_plane_move.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html #### Warnings #### * igt@gem_ctx_isolation@vcs1-nonpriv-switch: - shard-iclb: [FAIL][89] ([IGT#28]) -> [SKIP][90] ([fdo#109276] / [fdo#112080]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb4/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb5/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html * igt@gem_eio@kms: - shard-snb: [DMESG-WARN][91] ([i915#444]) -> [INCOMPLETE][92] ([i915#82]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb5/igt@gem_eio@kms.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-snb1/igt@gem_eio@kms.html * igt@gem_tiled_blits@normal: - shard-hsw: [FAIL][93] ([i915#818]) -> [FAIL][94] ([i915#694]) +1 similar issue [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-hsw2/igt@gem_tiled_blits@normal.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-hsw5/igt@gem_tiled_blits@normal.html * igt@i915_pm_dc@dc6-psr: - shard-tglb: [FAIL][95] ([i915#454]) -> [SKIP][96] ([i915#468]) [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb7/igt@i915_pm_dc@dc6-psr.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb8/igt@i915_pm_dc@dc6-psr.html * igt@i915_pm_rpm@gem-execbuf-stress: - shard-snb: [SKIP][97] ([fdo#109271]) -> [INCOMPLETE][98] ([i915#82]) [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb4/igt@i915_pm_rpm@gem-execbuf-stress.html [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-snb5/igt@i915_pm_rpm@gem-execbuf-stress.html * igt@kms_atomic_transition@3x-modeset-transitions-nonblocking: - shard-snb: [SKIP][99] ([fdo#109271]) -> [SKIP][100] ([fdo#109271] / [i915#439]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb2/igt@kms_atomic_transition@3x-modeset-transitions-nonblocking.html [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-snb1/igt@kms_atomic_transition@3x-modeset-transitions-nonblocking.html * igt@kms_dp_dsc@basic-dsc-enable-edp: - shard-iclb: [SKIP][101] ([fdo#109349]) -> [DMESG-WARN][102] ([fdo#107724]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-iclb3/igt@kms_dp_dsc@basic-dsc-enable-edp.html [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html * igt@runner@aborted: - shard-kbl: [FAIL][103] ([i915#974]) -> ([FAIL][104], [FAIL][105]) ([i915#716] / [i915#974]) [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-kbl3/igt@runner@aborted.html [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-kbl1/igt@runner@aborted.html [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-kbl1/igt@runner@aborted.html - shard-tglb: [FAIL][106] ([i915#584]) -> ([FAIL][107], [FAIL][108]) ([i915#409] / [i915#584]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-tglb6/igt@runner@aborted.html [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb8/igt@runner@aborted.html [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-tglb3/igt@runner@aborted.html - shard-snb: ([FAIL][109], [FAIL][110]) ([i915#436] / [i915#974]) -> [FAIL][111] ([i915#974]) [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb5/igt@runner@aborted.html [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7737/shard-snb1/igt@runner@aborted.html [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/shard-snb1/igt@runner@aborted.html [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28 [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6 [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#111736]: https://bugs.freedesktop.org/show_bug.cgi?id=111736 [fdo#111764]: https://bugs.freedesktop.org/show_bug.cgi?id=111764 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146 [fdo#112271]: https://bugs.freedesktop.org/show_bug.cgi?id=112271 [i915#109]: https://gitlab.freedesktop.org/drm/intel/issues/109 [i915#151]: https://gitlab.freedesktop.org/drm/intel/issues/151 [i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31 [i915#409]: https://gitlab.freedesktop.org/drm/intel/issues/409 [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413 [i915#436]: https://gitlab.freedesktop.org/drm/intel/issues/436 [i915#439]: https://gitlab.freedesktop.org/drm/intel/issues/439 [i915#444]: https://gitlab.freedesktop.org/drm/intel/issues/444 [i915#447]: https://gitlab.freedesktop.org/drm/intel/issues/447 [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454 [i915#460]: https://gitlab.freedesktop.org/drm/intel/issues/460 [i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468 [i915#472]: https://gitlab.freedesktop.org/drm/intel/issues/472 [i915#480]: https://gitlab.freedesktop.org/drm/intel/issues/480 [i915#49]: https://gitlab.freedesktop.org/drm/intel/issues/49 [i915#490]: https://gitlab.freedesktop.org/drm/intel/issues/490 [i915#530]: https://gitlab.freedesktop.org/drm/intel/issues/530 [i915#584]: https://gitlab.freedesktop.org/drm/intel/issues/584 [i915#644]: https://gitlab.freedesktop.org/drm/intel/issues/644 [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677 [i915#679]: https://gitlab.freedesktop.org/drm/intel/issues/679 [i915#69]: https://gitlab.freedesktop.org/drm/intel/issues/69 [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694 [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#818]: https://gitlab.freedesktop.org/drm/intel/issues/818 [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82 [i915#974]: https://gitlab.freedesktop.org/drm/intel/issues/974 Participating hosts (11 -> 10) ------------------------------ Missing (1): pig-hsw-4770r Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7737 -> Patchwork_16086 CI-20190529: 20190529 CI_DRM_7737: 2a331333791d2e499ac843e1dc25cd8ea5bdc81f @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5364: b7cb6ffdb65cbd233f5ddee2f2dabf97b34fa640 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_16086: b0cb0e2f41fc1cdfa12e5e26b43812746b140c47 @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16086/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2020-01-16 6:48 UTC | newest] Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-01-03 0:00 [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block Vivek Kasireddy 2020-01-03 0:52 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork 2020-01-03 11:05 ` [Intel-gfx] [PATCH] " Hans de Goede 2020-01-04 0:00 ` Vivek Kasireddy 2020-01-04 16:44 ` Hans de Goede 2020-01-07 16:49 ` Ville Syrjälä 2020-01-07 19:36 ` Matt Roper 2020-01-04 1:09 ` [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v2) Vivek Kasireddy 2020-01-04 16:45 ` Hans de Goede 2020-01-10 18:11 ` [Intel-gfx] [PATCH] drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (v3) Vivek Kasireddy 2020-01-10 18:39 ` Matt Roper 2020-01-13 11:27 ` Jani Nikula 2020-01-13 22:11 ` [Intel-gfx] [PATCH] drm/i915/dsi: Lookup the i2c bus from ACPI NS only if CONFIG_ACPI=y Vivek Kasireddy 2020-01-14 7:55 ` Jani Nikula 2020-01-04 1:22 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev2) Patchwork 2020-01-04 1:47 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2020-01-04 10:56 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2020-01-10 21:20 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev3) Patchwork 2020-01-14 0:15 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dsi: Parse the I2C element from the VBT MIPI sequence block (rev4) Patchwork 2020-01-14 0:45 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2020-01-14 0:45 ` [Intel-gfx] ✗ Fi.CI.BUILD: warning " Patchwork 2020-01-16 6:48 ` [Intel-gfx] ✓ Fi.CI.IGT: success " Patchwork
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.