mbox series

[v11,0/5] Add driver for GSC controller

Message ID 20220315131157.3972238-1-alexander.usyskin@intel.com (mailing list archive)
Headers show
Series Add driver for GSC controller | expand

Message

Alexander Usyskin March 15, 2022, 1:11 p.m. UTC
GSC is a graphics system controller, it provides
a chassis controller for graphics discrete cards.

There are two MEI interfaces in GSC: HECI1 and HECI2.

This series includes instantiation of the auxiliary devices for HECI2
and mei-gsc auxiliary device driver that binds to the auxiliary device.

The prinicpal user of this interface is the
Intel Graphics System Controller Firmware Update Library (IGSC FU)
(https://github.com/intel/igsc)

In v2 the platform device was replaced by the auxiliary device.
v3 is the rebase over drm-tip to make public CI running.
In v4 the not needed debug prints and empty line were removed,
      'select' were replaced by 'depends on' in MEI Kconfig,
      the new include file now listed in the MAINTATINERS file. 
V5, rebase and add Greg KH Reviewed-by
V6, rebase and drop redundant assignments found by the kernel test
robot.
V7, add Greg KH Reviewed-by to the individual patches
V8, address Tvrtko comments for i915
V9, rebase and address more Tvrtko comments, use drm error printing
V10, rebase
V11, address Rodrigo comments about code style,
     set missed mask in the interrupt config,
     add explicit devm_irq_free to error and remove flows

Tomas, please look at the devm_irq_free part.

Alexander Usyskin (2):
  mei: gsc: setup char driver alive in spite of firmware handshake
    failure
  mei: gsc: retrieve the firmware version

Tomas Winkler (3):
  drm/i915/gsc: add gsc as a mei auxiliary device
  mei: add support for graphics system controller (gsc) devices
  mei: gsc: add runtime pm handlers

 MAINTAINERS                              |   1 +
 drivers/gpu/drm/i915/Kconfig             |   1 +
 drivers/gpu/drm/i915/Makefile            |   3 +
 drivers/gpu/drm/i915/gt/intel_gsc.c      | 204 ++++++++++++++++++
 drivers/gpu/drm/i915/gt/intel_gsc.h      |  37 ++++
 drivers/gpu/drm/i915/gt/intel_gt.c       |   3 +
 drivers/gpu/drm/i915/gt/intel_gt.h       |   5 +
 drivers/gpu/drm/i915/gt/intel_gt_irq.c   |  13 ++
 drivers/gpu/drm/i915/gt/intel_gt_regs.h  |   1 +
 drivers/gpu/drm/i915/gt/intel_gt_types.h |   2 +
 drivers/gpu/drm/i915/i915_drv.h          |   8 +
 drivers/gpu/drm/i915/i915_pci.c          |   3 +-
 drivers/gpu/drm/i915/i915_reg.h          |   2 +
 drivers/gpu/drm/i915/intel_device_info.h |   2 +
 drivers/misc/mei/Kconfig                 |  14 ++
 drivers/misc/mei/Makefile                |   3 +
 drivers/misc/mei/bus-fixup.c             |  25 +++
 drivers/misc/mei/gsc-me.c                | 259 +++++++++++++++++++++++
 drivers/misc/mei/hw-me.c                 |  29 ++-
 drivers/misc/mei/hw-me.h                 |   2 +
 include/linux/mei_aux.h                  |  19 ++
 21 files changed, 633 insertions(+), 3 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.c
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.h
 create mode 100644 drivers/misc/mei/gsc-me.c
 create mode 100644 include/linux/mei_aux.h

Comments

Daniele Ceraolo Spurio March 22, 2022, 8:10 p.m. UTC | #1
Can you re-send this series with an added patch to force 
CONFIG_INTEL_MEI_GSC to be selected for CI? we don't need to review or 
merge that additional patch, but I want to make sure we get CI results 
with the config turned on before we merge this series. I'm also going to 
ping the CI team to see if we can turn it on by default for CI builds.

Daniele

On 3/15/2022 6:11 AM, Alexander Usyskin wrote:
> GSC is a graphics system controller, it provides
> a chassis controller for graphics discrete cards.
>
> There are two MEI interfaces in GSC: HECI1 and HECI2.
>
> This series includes instantiation of the auxiliary devices for HECI2
> and mei-gsc auxiliary device driver that binds to the auxiliary device.
>
> The prinicpal user of this interface is the
> Intel Graphics System Controller Firmware Update Library (IGSC FU)
> (https://github.com/intel/igsc)
>
> In v2 the platform device was replaced by the auxiliary device.
> v3 is the rebase over drm-tip to make public CI running.
> In v4 the not needed debug prints and empty line were removed,
>        'select' were replaced by 'depends on' in MEI Kconfig,
>        the new include file now listed in the MAINTATINERS file.
> V5, rebase and add Greg KH Reviewed-by
> V6, rebase and drop redundant assignments found by the kernel test
> robot.
> V7, add Greg KH Reviewed-by to the individual patches
> V8, address Tvrtko comments for i915
> V9, rebase and address more Tvrtko comments, use drm error printing
> V10, rebase
> V11, address Rodrigo comments about code style,
>       set missed mask in the interrupt config,
>       add explicit devm_irq_free to error and remove flows
>
> Tomas, please look at the devm_irq_free part.
>
> Alexander Usyskin (2):
>    mei: gsc: setup char driver alive in spite of firmware handshake
>      failure
>    mei: gsc: retrieve the firmware version
>
> Tomas Winkler (3):
>    drm/i915/gsc: add gsc as a mei auxiliary device
>    mei: add support for graphics system controller (gsc) devices
>    mei: gsc: add runtime pm handlers
>
>   MAINTAINERS                              |   1 +
>   drivers/gpu/drm/i915/Kconfig             |   1 +
>   drivers/gpu/drm/i915/Makefile            |   3 +
>   drivers/gpu/drm/i915/gt/intel_gsc.c      | 204 ++++++++++++++++++
>   drivers/gpu/drm/i915/gt/intel_gsc.h      |  37 ++++
>   drivers/gpu/drm/i915/gt/intel_gt.c       |   3 +
>   drivers/gpu/drm/i915/gt/intel_gt.h       |   5 +
>   drivers/gpu/drm/i915/gt/intel_gt_irq.c   |  13 ++
>   drivers/gpu/drm/i915/gt/intel_gt_regs.h  |   1 +
>   drivers/gpu/drm/i915/gt/intel_gt_types.h |   2 +
>   drivers/gpu/drm/i915/i915_drv.h          |   8 +
>   drivers/gpu/drm/i915/i915_pci.c          |   3 +-
>   drivers/gpu/drm/i915/i915_reg.h          |   2 +
>   drivers/gpu/drm/i915/intel_device_info.h |   2 +
>   drivers/misc/mei/Kconfig                 |  14 ++
>   drivers/misc/mei/Makefile                |   3 +
>   drivers/misc/mei/bus-fixup.c             |  25 +++
>   drivers/misc/mei/gsc-me.c                | 259 +++++++++++++++++++++++
>   drivers/misc/mei/hw-me.c                 |  29 ++-
>   drivers/misc/mei/hw-me.h                 |   2 +
>   include/linux/mei_aux.h                  |  19 ++
>   21 files changed, 633 insertions(+), 3 deletions(-)
>   create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.c
>   create mode 100644 drivers/gpu/drm/i915/gt/intel_gsc.h
>   create mode 100644 drivers/misc/mei/gsc-me.c
>   create mode 100644 include/linux/mei_aux.h
>
Alexander Usyskin March 28, 2022, 7:39 a.m. UTC | #2
Hi

As I understand the config patch should go to https://gitlab.freedesktop.org/gfx-ci/i915-infra kconfig/debug, branch "master".
Thus, this series does not need this change. Am I right?
Daniele Ceraolo Spurio March 28, 2022, 5:04 p.m. UTC | #3
Hi,

Yes, the series doesn't need an update, but on the other hand I don't 
think we can update the config repo before the new config option is 
merged, which we can't do without first running CI with the config 
enabled, so we have a catch-22 situation. That's why I suggested that 
you resend the series with an additional debug patch that enables the 
new config option from within the i915 kconfig, so that CI runs properly 
on it, but clearly marking that patch as something that is for CI only 
and that we shouldn't merge.

We did the same for the mei-pxp config (here's an example: 
https://patchwork.freedesktop.org/patch/460925/?series=96181&rev=2).

The alternative would be to merge an update to i915-infra kconfig/debug 
before this series is merged and re-run CI on the existing series with 
the updated config, but as mentioned above not sure if that's allowed. 
If you can get it in then that's fine for me.

Daniele

On 3/28/2022 12:39 AM, Usyskin, Alexander wrote:
> Hi
>
> As I understand the config patch should go to https://gitlab.freedesktop.org/gfx-ci/i915-infra kconfig/debug, branch "master".
> Thus, this series does not need this change. Am I right?
>