Re: [Intel-gfx] [PATCH v2] drm/i915/gvt: Fix cached atomics setting for Windows VM

2021-08-05 Thread Colin Xu
On Fri, 6 Aug 2021, Zhenyu Wang wrote: Thanks for the fix! Otherwise Windows VM is unusable with recent kernel. Reviewed-by: Colin Xu We've seen recent regression with host and windows VM running simultaneously that cause gpu hang or even crash. Finally bisect to commit 58586680ffad (&quo

Re: [Intel-gfx] [PATCH 3/3] Revert "vfio/gvt: Make DRM_I915_GVT depend on VFIO_MDEV"

2021-05-17 Thread Colin Xu
.org https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev Reviewed-by: Colin Xu -- Best Regards, Colin Xu ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Re: [Intel-gfx] [PATCH 2/3] Revert "vfio/gvt: fix DRM_I915_GVT dependency on VFIO_MDEV"

2021-05-17 Thread Colin Xu
-- 2.31.0 ___ intel-gvt-dev mailing list intel-gvt-...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gvt-dev Reviewed-by: Colin Xu -- Best Regards, Colin Xu ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop

Re: [Intel-gfx] [PATCH v2] drm/i915/gvt: Move mdev attribute groups into kvmgt module

2021-05-17 Thread Colin Xu
vice *dev) +static inline void intel_gvt_hypervisor_host_exit(struct device *dev, void *gvt) { /* optional to provide */ if (!intel_gvt_host.mpt->host_exit) return; - intel_gvt_host.mpt->host_exit(dev); + intel_gvt_host.mpt->host_exit(dev, gvt); }

[Intel-gfx] [PATCH v7 2/2] drm/i915/gvt: Add GVT resume routine to i915

2020-10-26 Thread Colin Xu
intel_gvt_suspend() if fail to save GGTT. V6: Save host entry to per-vGPU gtt.ggtt_mm on each host_entry update so only need the resume routine. V7: Refresh. Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/i915_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git

[Intel-gfx] [PATCH v7 1/2] drm/i915/gvt: Save/restore HW status to support GVT suspend/resume

2020-10-26 Thread Colin Xu
memory to save ggtt. Free allocated ggtt_entries on failure. V6: Save host entry to per-vGPU gtt.ggtt_mm on each host_entry update. V7: Restore GGTT entry based on present bit. Split fence restore and mmio restore in different functions. Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers

[Intel-gfx] [PATCH v7 0/2] Enable GVT suspend/resume

2020-10-26 Thread Colin Xu
fence restore and mmio restore in different functions. Colin Xu (2): drm/i915/gvt: Save/restore HW status to support GVT suspend/resume drm/i915/gvt: Add GVT resume routine to i915 drivers/gpu/drm/i915/gvt/gtt.c | 64 + drivers/gpu/drm/i915/gvt/gtt.h | 4

Re: [Intel-gfx] [PATCH v6 1/2] drm/i915/gvt: Save/restore HW status to support GVT suspend/resume

2020-10-26 Thread Colin Xu
On 2020-10-27 09:49, Zhenyu Wang wrote: On 2020.10.27 08:42:40 +0800, Colin Xu wrote: On 2020-10-26 17:19, Zhenyu Wang wrote: On 2020.10.23 16:17:19 +0800, Colin Xu wrote: This patch save/restore necessary GVT info during i915 suspend/resume so that GVT enabled QEMU VM can continue running

Re: [Intel-gfx] [PATCH v6 1/2] drm/i915/gvt: Save/restore HW status to support GVT suspend/resume

2020-10-26 Thread Colin Xu
On 2020-10-26 17:19, Zhenyu Wang wrote: On 2020.10.23 16:17:19 +0800, Colin Xu wrote: This patch save/restore necessary GVT info during i915 suspend/resume so that GVT enabled QEMU VM can continue running. Only GGTT and fence regs are saved/restored now. GVT will save GGTT entries on each

[Intel-gfx] [PATCH v6 2/2] drm/i915/gvt: Add GVT resume routine to i915

2020-10-23 Thread Colin Xu
intel_gvt_suspend() if fail to save GGTT. V6: Save host entry to per-vGPU gtt.ggtt_mm on each host_entry update so only need the resume routine. Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/i915_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915

[Intel-gfx] [PATCH v6 0/2] Enable GVT suspend/resume

2020-10-23 Thread Colin Xu
flags to indicate which MMIOs to save/restore for PM. V4: Rebase. V5: Fail intel_gvt_pm_suspend if fail to save ggtt. V6: Save host entry to per-vGPU gtt.ggtt_mm on each host_entry update so that no need to read from HW and save during suspend. Colin Xu (2): drm/i915/gvt: Save/restore HW status

[Intel-gfx] [PATCH v6 1/2] drm/i915/gvt: Save/restore HW status to support GVT suspend/resume

2020-10-23 Thread Colin Xu
memory to save ggtt. Free allocated ggtt_entries on failure. V6: Save host entry to per-vGPU gtt.ggtt_mm on each host_entry update. Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/gtt.c | 75 + drivers/gpu/drm/i915/gvt/gtt.h | 9

Re: [Intel-gfx] [PATCH v5 2/2] drm/i915/gvt: Add GVT suspend/resume routine to i915

2020-10-16 Thread Colin Xu
On 2020-10-16 16:13, Colin Xu wrote: This patch add gvt suspend/resume wrapper into i915: i915_drm_suspend() and i915_drm_resume(). GVT relies on i915 so suspend gvt ahead of other i915 sub-routine and resume gvt at last. V2: - Direct call into gvt suspend/resume wrapper in intel_gvt.h

[Intel-gfx] [PATCH v5 2/2] drm/i915/gvt: Add GVT suspend/resume routine to i915

2020-10-16 Thread Colin Xu
will check and call gvt routine. (zhenyu) V3: Refresh. V4: Rebase. V5: Fail intel_gvt_suspend() if fail to save GGTT. Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/i915_drv.c | 5 + 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.c b

[Intel-gfx] [PATCH v5 0/2] Enable GVT suspend/resume

2020-10-16 Thread Colin Xu
flags to indicate which MMIOs to save/restore for PM. V4: Rebase. V5: Fail intel_gvt_pm_suspend if fail to save ggtt. Colin Xu (2): drm/i915/gvt: Save/restore HW status for GVT during suspend/resume drm/i915/gvt: Add GVT suspend/resume routine to i915 drivers/gpu/drm/i915/gvt/gtt.c | 88

[Intel-gfx] [PATCH v5 1/2] drm/i915/gvt: Save/restore HW status for GVT during suspend/resume

2020-10-16 Thread Colin Xu
memory to save ggtt. Free allocated ggtt_entries on failure. Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/gtt.c | 88 + drivers/gpu/drm/i915/gvt/gtt.h | 2 + drivers/gpu/drm/i915/gvt/gvt.c | 14 + drivers/gpu/drm/i915

Re: [Intel-gfx] [PATCH v4 1/2] drm/i915/gvt: Save/restore HW status for GVT during suspend/resume

2020-10-16 Thread Colin Xu
On 2020-10-16 14:37, Zhenyu Wang wrote: On 2020.10.16 14:20:29 +0800, Colin Xu wrote: On 2020-10-16 13:54, Zhenyu Wang wrote: On 2020.10.16 13:59:59 +0800, Colin Xu wrote: This patch save/restore necessary GVT info during i915 suspend/resume so that GVT enabled QEMU VM can continue running

Re: [Intel-gfx] [PATCH v4 1/2] drm/i915/gvt: Save/restore HW status for GVT during suspend/resume

2020-10-16 Thread Colin Xu
On 2020-10-16 13:54, Zhenyu Wang wrote: On 2020.10.16 13:59:59 +0800, Colin Xu wrote: This patch save/restore necessary GVT info during i915 suspend/resume so that GVT enabled QEMU VM can continue running. Only GGTT and fence regs are saved/restored now. GVT will save GGTT entries into GVT

[Intel-gfx] [PATCH v4 2/2] drm/i915/gvt: Add GVT suspend/resume routine to i915

2020-10-16 Thread Colin Xu
will check and call gvt routine. (zhenyu) V3: Refresh. V4: Rebase. Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/i915_drv.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 8bb7e2dcfaaa

[Intel-gfx] [PATCH v4 1/2] drm/i915/gvt: Save/restore HW status for GVT during suspend/resume

2020-10-16 Thread Colin Xu
with intel_gvt_active(). (zhenyu) V3: (zhenyu) - Incorrect copy length. Should be num entries * entry size. - Use memcpy_toio()/memcpy_fromio() instead of memcpy for iomem. - Add F_PM_SAVE flags to indicate which MMIOs to save/restore for PM. V4: Rebase. Signed-off-by: Hang Yuan Signed-off-by: Colin Xu

[Intel-gfx] [PATCH v4 0/2] Enable GVT suspend/resume

2020-10-15 Thread Colin Xu
flags to indicate which MMIOs to save/restore for PM. V4: Rebase. Colin Xu (2): drm/i915/gvt: Save/restore HW status for GVT during suspend/resume drm/i915/gvt: Add GVT suspend/resume routine to i915 drivers/gpu/drm/i915/gvt/gtt.c | 75 + drivers/gpu/drm/i915

Re: [Intel-gfx] [PATCH] drm/i915/gvt: Introduce per object locking in GVT scheduler.

2020-09-08 Thread Colin Xu
On 2020-09-09 10:06, Zhenyu Wang wrote: On 2020.09.09 09:43:21 +0800, Colin Xu wrote: I tested this patch on the suspend/resume case with vGPU created (no need really activate), can still observer the system freeze issue as mentioned in another patch I sent. So I suppose we still need

Re: [Intel-gfx] [PATCH] drm/i915/gvt: Introduce per object locking in GVT scheduler.

2020-09-08 Thread Colin Xu
return 0; out_shadow_ctx: + i915_gem_ww_ctx_fini(); i915_context_ppgtt_root_restore(s, ppgtt); for_each_engine(engine, vgpu->gvt->gt, i) { if (IS_ERR(s->shadow[i])) -- Best Regards, Colin Xu ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH v3 1/2] drm/i915/gvt: Save/restore HW status for GVT during suspend/resume

2020-09-08 Thread Colin Xu
with intel_gvt_active(). (zhenyu) V3: (zhenyu) - Incorrect copy length. Should be num entries * entry size. - Use memcpy_toio()/memcpy_fromio() instead of memcpy for iomem. - Add F_PM_SAVE flags to indicate which MMIOs to save/restore for PM. Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers/gpu/drm

[Intel-gfx] [PATCH v3 2/2] drm/i915/gvt: Add GVT suspend/resume routine to i915

2020-09-08 Thread Colin Xu
will check and call gvt routine. (zhenyu) V3: Refresh. Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/i915_drv.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index d66fe09d337e..28055dc65ecd

[Intel-gfx] [PATCH v3 0/2] Enable GVT suspend/resume

2020-09-08 Thread Colin Xu
flags to indicate which MMIOs to save/restore for PM. Colin Xu (2): drm/i915/gvt: Save/restore HW status for GVT during suspend/resume drm/i915/gvt: Add GVT suspend/resume routine to i915 drivers/gpu/drm/i915/gvt/gtt.c | 75 + drivers/gpu/drm/i915/gvt/gtt.h

Re: [Intel-gfx] [PATCH v2 1/2] drm/i915/gvt: Save/restore HW status for GVT during suspend/resume

2020-08-27 Thread Colin Xu
On 2020-08-26 17:10, Zhenyu Wang wrote: On 2020.08.26 14:35:05 +0800, Colin Xu wrote: This patch save/restore necessary GVT info during i915 suspend/resume so that GVT enabled QEMU VM can continue running. Only GGTT and fence regs are saved/restored now. GVT will save GGTT entries into GVT

[Intel-gfx] [PATCH v2 2/2] drm/i915/gvt: Add GVT suspend/resume routine to i915

2020-08-26 Thread Colin Xu
will check and call gvt routine. (zhenyu) Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/i915_drv.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 00292a849c34..99c15a9183c2 100644

[Intel-gfx] [PATCH v2 1/2] drm/i915/gvt: Save/restore HW status for GVT during suspend/resume

2020-08-26 Thread Colin Xu
with intel_gvt_active(). (zhenyu) Signed-off-by: Hang Yuan Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/gtt.c | 73 + drivers/gpu/drm/i915/gvt/gtt.h | 2 + drivers/gpu/drm/i915/gvt/gvt.c | 15 ++ drivers/gpu/drm/i915/gvt/gvt.h | 6 +++ drivers/gpu/drm

[Intel-gfx] [PATCH v2 0/2] Enable GVT suspend/resume

2020-08-26 Thread Colin Xu
in intel_gvt.h/intel_gvt.c and move the actual implementation to gvt.h/gvt.c. (zhenyu) - Check gvt config on and active with intel_gvt_active(). (zhenyu) Colin Xu (2): drm/i915/gvt: Save/restore HW status for GVT during suspend/resume drm/i915/gvt: Add GVT suspend/resume routine to i915 drivers/gpu/drm

[Intel-gfx] [PATCH v3 12/12] drm/i915: Enable KVMGT for BXT.

2018-06-11 Thread Colin Xu
Enable KVMGT for BXT. is_supported_device() acting as the gatekeeper of GVT-g init. If all supported platforms share the same configurations for some specific feature, platform check will rely on this check only. Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/intel_gvt.c | 2 ++ 1 file

[Intel-gfx] [PATCH v3 11/12] drm/i915/gvt: Add mmio handler for for BXT.

2018-06-11 Thread Colin Xu
Leverage most SKL/KBL mmio init info and add different mmio to BXT specific function init_bxt_mmio_info(). Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/handlers.c | 389 1 file changed, 344 insertions(+), 45 deletions(-) diff --git a/drivers/gpu/drm/i915

[Intel-gfx] [PATCH v3 09/12] drm/i915/gvt: Enable virtual display support for BXT.

2018-06-11 Thread Colin Xu
Virtual monitor on BXT start from port B. Unlike SKL/KBL, digital display port connectivity is detected via GEN8_DE_PORT_ISR so emulate monitor state change by setting it. Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/display.c | 23 +++ drivers/gpu/drm/i915/gvt

[Intel-gfx] [PATCH v3 10/12] drm/i915/gvt: Enable dma_buf support for BXT.

2018-06-11 Thread Colin Xu
Handle dma_buf on BXT as SKL and KBL. Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/dmabuf.c | 4 +++- drivers/gpu/drm/i915/gvt/fb_decoder.c | 12 +--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/gvt/dmabuf.c b/drivers/gpu/drm/i915

[Intel-gfx] [PATCH v3 08/12] drm/i915/gvt: Enable force wake support for BXT.

2018-06-11 Thread Colin Xu
BXT forcewake is handled in the same way as SKL/KBL. v2: Add missing inhibit_context restore for BXT. Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/scheduler.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu

[Intel-gfx] [PATCH v3 07/12] drm/i915/gvt: Enable cmd_parser support for BXT.

2018-06-11 Thread Colin Xu
Handle BXT cmd_parser as SKL/KBL. v2: All supported platforms share the same routines. Remove the platform check by now and let is_supported_device() be the gate keeper. Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/cmd_parser.c | 39 ++- 1 file changed

[Intel-gfx] [PATCH v3 06/12] drm/i915/gvt: Enable mmio context init and switch for BXT.

2018-06-11 Thread Colin Xu
Handle pending tlb flush, mocs/mmio switch and context as KBL. Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/mmio_context.c | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/gvt/mmio_context.c b/drivers/gpu/drm/i915/gvt

[Intel-gfx] [PATCH v3 05/12] drm/i915/gvt: Enable irq initialization for BXT.

2018-06-11 Thread Colin Xu
Initialize BXT irq handler as SKL/KBL. v2: All supported platforms share the same irq ops and map. Remove the platform check by now and let is_supported_device() be the gate keeper. Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/interrupt.c | 14 +- 1 file changed, 5

[Intel-gfx] [PATCH v3 01/12] drm/i915/gvt: Add D_BXT device type define for BXT.

2018-06-11 Thread Colin Xu
Broxton belongs to GEN9 family so add to SKL and GEN9 plus. Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/handlers.c | 2 ++ drivers/gpu/drm/i915/gvt/mmio.h | 11 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/gvt/handlers.c b

[Intel-gfx] [PATCH v3 02/12] drm/i915/gvt: Add MEDIA_POOL_STATE for BXT.

2018-06-11 Thread Colin Xu
As referred in PRM for Broxton Graphics on 01.org Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/cmd_parser.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/gvt/cmd_parser.c b/drivers/gpu/drm/i915/gvt/cmd_parser.c index b51c05d03f14..f65cf4515783 100644

[Intel-gfx] [PATCH v3 03/12] drm/i915/gvt: Enable device info initialization for BXT.

2018-06-11 Thread Colin Xu
Initialize BXT device info as SKL/KBL. v2: All supported platforms share the same device configuration. Remove the platform check by now and let is_supported_device() be the gate keeper. Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/gvt.c | 21 + 1 file

[Intel-gfx] [PATCH v3 04/12] drm/i915/gvt: Enable gtt initialization for BXT.

2018-06-11 Thread Colin Xu
Initialize BXT gtt as SKL/KBL. v2: All supported platforms share the same gtt ops. Remove the platform check by now and let is_supported_device() be the gate keeper. Signed-off-by: Colin Xu --- drivers/gpu/drm/i915/gvt/gtt.c | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions

[Intel-gfx] [PATCH v3 00/11] drm/i915/gvt: Enable KVMGT for BXT

2018-06-11 Thread Colin Xu
if all supported platforms share the same configuration set. is_supported_device() will be the gatekeeper. - Enable dma_buf for BXT. - Add inhibit_context restore for BXT. Colin Xu (12): drm/i915/gvt: Add D_BXT device type define for BXT. drm/i915/gvt: Add MEDIA_POOL_STATE for BXT

Re: [Intel-gfx] [PATCH 2/4] drm/i915: clean up virtual PCH special case handling

2018-05-31 Thread Colin Xu
anyway. Cc: Colin Xu Reviewed-by: Ville Syrjälä Signed-off-by: Jani Nikula --- drivers/gpu/drm/i915/i915_drv.c | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index c42e389a27f3..1842a067a604

Re: [Intel-gfx] [PATCH 1/4] drm/i915: fix guest virtual PCH detection on non-PCH systems

2018-05-31 Thread Colin Xu
On 05/31/2018 07:56 PM, Jani Nikula wrote: Virtualized non-PCH systems such as Broxton or Geminilake should use PCH_NONE to indicate no PCH rather than PCH_NOP. The latter is a specific case to indicate a PCH system without south display. Reported-by: Colin Xu Cc: Colin Xu Reviewed-by: Ville

Re: [Intel-gfx] [PATCH 1/2] drm/i915: Update virtual PCH in single function

2018-05-29 Thread Colin Xu
On 05/29/2018 01:45 PM, Jani Nikula wrote: On Wed, 30 May 2018, Colin Xu wrote: On 05/28/2018 09:42 PM, Jani Nikula wrote: On Mon, 28 May 2018, Jani Nikula wrote: On Mon, 28 May 2018, Jani Nikula wrote: On Tue, 29 May 2018, colin...@intel.com wrote: From: Colin Xu The existing way

Re: [Intel-gfx] [PATCH 1/2] drm/i915: Update virtual PCH in single function

2018-05-28 Thread Colin Xu
On 05/28/2018 09:42 PM, Jani Nikula wrote: On Mon, 28 May 2018, Jani Nikula wrote: On Mon, 28 May 2018, Jani Nikula wrote: On Tue, 29 May 2018, colin...@intel.com wrote: From: Colin Xu The existing way to update virtual PCH will return wrong PCH type in case the host doesn't have PCH

[Intel-gfx] [PATCH 2/2] drm/i915: Assign PCH_NONE for BXT in virtualization

2018-05-27 Thread colin . xu
From: Colin Xu <colin...@intel.com> On BXT platform, guest kernel request PCH_NONE to initialize display correctly. Signed-off-by: Colin Xu <colin...@intel.com> --- drivers/gpu/drm/i915/i915_drv.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv

[Intel-gfx] [PATCH 0/2] drm/i915: Fix incorrect virtual PCH_NONE/PCH_NOP assignment

2018-05-27 Thread colin . xu
From: Colin Xu <colin...@intel.com> In recent virtual PCH detection refactoring patch, virtual pch id is guessed and sanity checked from dev_priv. However, on platform that has no PCH like BXT, the guessing is wrong by mixing up PCH_NONE with PCH_NOP. The patch set handles such situat

[Intel-gfx] [PATCH 1/2] drm/i915: Update virtual PCH in single function

2018-05-27 Thread colin . xu
From: Colin Xu <colin...@intel.com> The existing way to update virtual PCH will return wrong PCH type in case the host doesn't have PCH: - intel_virt_detect_pch returns guessed PCH id 0 - id 0 maps to PCH_NOP. >> should be PCH_NONE. Since PCH_NONE and PCH_NOP are different types,