Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flickering screen when passing ADL-N and RPL-P platforms #8432

Closed
jiaqingz-intel opened this issue Jun 20, 2023 · 2 comments
Closed

Flickering screen when passing ADL-N and RPL-P platforms #8432

jiaqingz-intel opened this issue Jun 20, 2023 · 2 comments
Labels
status: new The issue status: new for creation

Comments

@jiaqingz-intel
Copy link
Contributor

Black screen or flickering screen when passing ADL-N and RPL-P platforms

And kernel i915 driver reports error with ERROR Fault errors on pipe A: 0x00000080

@jiaqingz-intel jiaqingz-intel added the status: new The issue status: new for creation label Jun 20, 2023
@jiaqingz-intel
Copy link
Contributor Author

jiaqingz-intel commented Jun 20, 2023

[External_System_ID] ACRN-10146
[External_System_ID] ACRN-10147

acrnsi-robot pushed a commit that referenced this issue Jun 25, 2023
The Data of Stolen Memory (DSM) region on Alder Lake-N and Raptor Lake
platform is indicated by the BDSM register (0xC0 and 0xC4 in PCI config
space), which is the same as Gen 11 (Tiger Lake) iGPU. This patch adds
ADL-N and RPL iGPU device id to passthrough the DSM region properly
when using GVT-d.

The PCI device ids are taken from i915 kernel driver.

Tracked-On: #8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 14, 2023
The Data of Stolen Memory (DSM) region on Alder Lake-N and Raptor Lake
platform is indicated by the BDSM register (C0h and C4h in PCI config
space), which is the same as Gen 11 (Tiger Lake) iGPU. This patch adds
ADL-N and RPL iGPU device id to passthrough the DSM region properly
when using GVT-d.

The PCI device ids are taken from i915 kernel driver.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 14, 2023
This patch adjusts the existing PCI device ids for GVT-d DSM region
passthrough to match the ids in i915 kernel driver and intel doc [1].

[1]: https://dgpu-docs.intel.com/devices/hardware-table.html

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 14, 2023
Rocket Lake and Jasper Lake platforms uses Base Data of Stolen Memory
(BDSM) register to indicate the stolen memory region. This region
should be passthrough to guests when using GVT-d.

The PCI device ids are taken from i915 kernel driver.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
@jiaqingz-intel
Copy link
Contributor Author

Reopen due to the solution/workaround is not merged in master

jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 27, 2023
Since Intel Processor Graphics Gen11, Base Data of Stolen Memory (BDSM)
register is extended to 64 bit, allowing BIOS to assign an above 4G
address. This patch changes the type of hpa/gpa variables to uint64_t
to properly handle such case.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 27, 2023
The register index and data format of BDSM (Base Data of Stolen Memory)
of Intel integrated graphics is changed in GPU Gen 11. Currently ACRN
uses a long device list for Gen11+ devices. This patch introduces a new
device allowlist for IGD passthrough in igd_pciids.h, covering IGD
device ids from Skylake, and handles passthrough by its generation.

If a device is not listed, it will be treated as a gen 11 device and a
warning will be printed, developers should add the new device to the
list if it is verified to work.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 27, 2023
Currently the DSM (Data of Stolen Memory) size was hardcoded to 64M in
ACRN, meaning that users must set "DVMT Pre-Allocated" to 64M in order
to make IGD passthrough (GVT-d) to work. This patch reads the BIOS-
configured memory size from GGC (GMCH Graphics Control, 0x50) register
and passthrough corresponding area to guest.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 27, 2023
The register index and data format of BDSM (Base Data of Stolen Memory)
of Intel integrated graphics is changed in GPU Gen 11. Currently ACRN
uses a long device list for Gen11+ devices. This patch introduces a new
device allowlist for IGD passthrough in igd_pciids.h, covering IGD
device ids from Skylake, and handles passthrough by its generation.

If a device is not listed, it will be treated as a gen 11 device and a
warning will be printed, developers should add the new device to the
list if it is verified to work.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 27, 2023
Currently the DSM (Data of Stolen Memory) size was hardcoded to 64M in
ACRN, meaning that users must set "DVMT Pre-Allocated" to 64M in order
to make IGD passthrough (GVT-d) to work. This patch reads the BIOS-
configured memory size from GGC (GMCH Graphics Control, 0x50) register
and passthrough corresponding area to guest.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 27, 2023
The register index and data format of BDSM (Base Data of Stolen Memory)
of Intel integrated graphics is changed in GPU Gen 11. Currently ACRN
uses a long device list for Gen11+ devices. This patch introduces a new
device allowlist for IGD passthrough in igd_pciids.h, covering IGD
device ids from Skylake, and handles passthrough by its generation.

If a device is not listed, it will be treated as a gen 11 device and a
warning will be printed, developers should add the new device to the
list if it is verified to work.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 27, 2023
Currently the DSM (Data of Stolen Memory) size was hardcoded to 64M in
ACRN, meaning that users must set "DVMT Pre-Allocated" to 64M in order
to make IGD passthrough (GVT-d) to work. This patch reads the BIOS-
configured memory size from GGC (GMCH Graphics Control, 0x50) register
and passthrough corresponding area to guest.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 27, 2023
The register index and data format of BDSM (Base Data of Stolen Memory)
of Intel integrated graphics is changed in GPU Gen 11. Currently ACRN
uses a long device list for Gen11+ devices. This patch introduces a new
device allowlist for IGD passthrough in igd_pciids.h, covering IGD
device ids from Skylake, and handles passthrough by its generation.

If a device is not listed, it will be treated as a gen 11 device and a
warning will be printed, developers should add the new device to the
list if it is verified to work.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Jul 27, 2023
Currently the DSM (Data of Stolen Memory) size was hardcoded to 64M in
ACRN, meaning that users must set "DVMT Pre-Allocated" to 64M in order
to make IGD passthrough (GVT-d) to work. This patch reads the BIOS-
configured memory size from GGC (GMCH Graphics Control, 0x50) register
and passthrough corresponding area to guest.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
acrnsi-robot pushed a commit that referenced this issue Jul 27, 2023
Since Intel Processor Graphics Gen11, Base Data of Stolen Memory (BDSM)
register is extended to 64 bit, allowing BIOS to assign an above 4G
address. This patch changes the type of hpa/gpa variables to uint64_t
to properly handle such case.

Tracked-On: #8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
acrnsi-robot pushed a commit that referenced this issue Jul 27, 2023
The register index and data format of BDSM (Base Data of Stolen Memory)
of Intel integrated graphics is changed in GPU Gen 11. Currently ACRN
uses a long device list for Gen11+ devices. This patch introduces a new
device allowlist for IGD passthrough in igd_pciids.h, covering IGD
device ids from Skylake, and handles passthrough by its generation.

If a device is not listed, it will be treated as a gen 11 device and a
warning will be printed, developers should add the new device to the
list if it is verified to work.

Tracked-On: #8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
acrnsi-robot pushed a commit that referenced this issue Jul 27, 2023
Currently the DSM (Data of Stolen Memory) size was hardcoded to 64M in
ACRN, meaning that users must set "DVMT Pre-Allocated" to 64M in order
to make IGD passthrough (GVT-d) to work. This patch reads the BIOS-
configured memory size from GGC (GMCH Graphics Control, 0x50) register
and passthrough corresponding area to guest.

Tracked-On: #8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Aug 30, 2023
Since Intel Processor Graphics Gen11, Base Data of Stolen Memory (BDSM)
register is extended to 64 bit, allowing BIOS to assign an above 4G
address. This patch changes the type of hpa/gpa variables to uint64_t
to properly handle such case.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Aug 30, 2023
The register index and data format of BDSM (Base Data of Stolen Memory)
of Intel integrated graphics is changed in GPU Gen 11. Currently ACRN
uses a long device list for Gen11+ devices. This patch introduces a new
device allowlist for IGD passthrough in igd_pciids.h, covering IGD
device ids from Skylake, and handles passthrough by its generation.

If a device is not listed, it will be treated as a gen 11 device and a
warning will be printed, developers should add the new device to the
list if it is verified to work.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
jiaqingz-intel added a commit to jiaqingz-intel/acrn-hypervisor that referenced this issue Aug 30, 2023
Currently the DSM (Data of Stolen Memory) size was hardcoded to 64M in
ACRN, meaning that users must set "DVMT Pre-Allocated" to 64M in order
to make IGD passthrough (GVT-d) to work. This patch reads the BIOS-
configured memory size from GGC (GMCH Graphics Control, 0x50) register
and passthrough corresponding area to guest.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
izhouwu pushed a commit to izhouwu/acrn-hypervisor that referenced this issue Jan 19, 2024
Since Intel Processor Graphics Gen11, Base Data of Stolen Memory (BDSM)
register is extended to 64 bit, allowing BIOS to assign an above 4G
address. This patch changes the type of hpa/gpa variables to uint64_t
to properly handle such case.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
izhouwu pushed a commit to izhouwu/acrn-hypervisor that referenced this issue Jan 19, 2024
The register index and data format of BDSM (Base Data of Stolen Memory)
of Intel integrated graphics is changed in GPU Gen 11. Currently ACRN
uses a long device list for Gen11+ devices. This patch introduces a new
device allowlist for IGD passthrough in igd_pciids.h, covering IGD
device ids from Skylake, and handles passthrough by its generation.

If a device is not listed, it will be treated as a gen 11 device and a
warning will be printed, developers should add the new device to the
list if it is verified to work.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
izhouwu pushed a commit to izhouwu/acrn-hypervisor that referenced this issue Jan 19, 2024
Currently the DSM (Data of Stolen Memory) size was hardcoded to 64M in
ACRN, meaning that users must set "DVMT Pre-Allocated" to 64M in order
to make IGD passthrough (GVT-d) to work. This patch reads the BIOS-
configured memory size from GGC (GMCH Graphics Control, 0x50) register
and passthrough corresponding area to guest.

Tracked-On: projectacrn#8432
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Jian Jun Chen <jian.jun.chen@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: new The issue status: new for creation
Projects
None yet
Development

No branches or pull requests

1 participant