Introduce common nbio helpers to build s2a doorbell entry values from per-generation field layouts and program them through either mmio or global SMN addresses.
Convert the nbio v4_3, v6_3_1, v6_3_2, v7_9, v7_11_4, v7_11_5 implementations This removes duplicated register-field construction and access logic from the individual IP implementations. Future NBIO generations using the same s2a programming model can provide their field layout and client-to-port mapping while reusing the common validation and programming paths. Hawking Zhang (13): drm/amdgpu: Add common NBIO doorbell entry helpers drm/amdgpu: Add nbio v6_3_2 doorbell layout drm/amdgpu: Use common doorbell helpers in nbio v6_3_2 drm/amdgpu: Add nbio v4_3 doorbell layout drm/amdgpu: Use common doorbell helpers in nbio v4_3 drm/amdgpu: Support doorbell range programming through smn drm/amdgpu: Use common doorbell helpers in nbio v7_9 drm/amdgpu: Use common doorbell helpers in nbio v7_11_5 drm/amdgpu: Add nbif v4_10_0 ip headers drm/amdgpu: Add nbio v7_11_4 support drm/amdgpu: Drop nbio v7_11_x support from nbif v6_3_1 drm/amdgpu: Use common doorbell helpers in nbio v7_11_4 drm/amdgpu: Use common doorbell helpers in nbif v6_3_1 drivers/gpu/drm/amd/amdgpu/Makefile | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.c | 150 +++++ drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.h | 88 +++ drivers/gpu/drm/amd/amdgpu/nbif_v6_3_1.c | 384 ++++++------ drivers/gpu/drm/amd/amdgpu/nbio_v4_3.c | 265 +++++--- drivers/gpu/drm/amd/amdgpu/nbio_v6_3_2.c | 324 +++++----- drivers/gpu/drm/amd/amdgpu/nbio_v7_11_4.c | 452 ++++++++++++++ drivers/gpu/drm/amd/amdgpu/nbio_v7_11_4.h | 32 + drivers/gpu/drm/amd/amdgpu/nbio_v7_11_5.c | 256 +++++--- drivers/gpu/drm/amd/amdgpu/nbio_v7_9.c | 377 ++++++------ .../asic_reg/nbif/nbif_4_10_0_offset.h | 103 ++++ .../asic_reg/nbif/nbif_4_10_0_sh_mask.h | 573 ++++++++++++++++++ 13 files changed, 2307 insertions(+), 706 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/nbio_v7_11_4.c create mode 100644 drivers/gpu/drm/amd/amdgpu/nbio_v7_11_4.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/nbif/nbif_4_10_0_offset.h create mode 100644 drivers/gpu/drm/amd/include/asic_reg/nbif/nbif_4_10_0_sh_mask.h -- 2.17.1
