Skip to content

bus: brcmstb_gisb: add support for GISBv7 arbiter

Doug Berger linux-arm-kernel linux-devicetree lkml 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest6 patches 3 repliesIn review
  2. v28 patches 7 repliesSuperseded
  3. v19 patches 12 repliesSuperseded

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6bus: brcmstb_gisb: Use register offsets with writes toodrivers/bus/brcmstb_gisb.c+3 -30 replies
2/6bus: brcmstb_gisb: correct support for 64-bit address outputdrivers/bus/brcmstb_gisb.c+20 -160 replies
3/6bus: brcmstb_gisb: add notifier handlingdrivers/bus/brcmstb_gisb.c+39 -00 replies
4/6bus: brcmstb_gisb: remove low-level ARM hooksdrivers/bus/brcmstb_gisb.c+0 -300 replies
5/6bus: brcmstb_gisb: enable driver for ARM64 architecturedrivers/bus/Kconfig+1 -10 replies
6/6bus: brcmstb_gisb: update to support new revisionDocumentation/devicetree/bindings/bus/brcm,gisb-arb.txt drivers/bus/brcmstb_gisb.c+12 -10 replies

Reviews trailers per patch

2 of 6 patches have a Reviewed-by or Acked-by.

PatchGregory Fong
1/6A-b
2/6A-b
3/6
4/6
5/6
6/6

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 0/6] bus: brcmstb_gisb: add support for GISBv7 arbiter

This patch set contains changes to enable the GISB arbiter driver on the latest ARM64 architecture Set-Top Box chips from Broadcom.

Since the ARM64 architecture does not support the hooking of low level fault handlers the driver has been adjusted to depend solely on GISB interrupts and notify events to provide diagnostic messaging. The GISB hardware still triggers bus faults for the processor so the default low-level aborts will occur and will be handled based on the architecture specific kernel implementation.

While this tends to obsure the GISB error messaging it is still reasonable so the same approach is applied to the ARM architecture for consistency.

The patches also correct some issues with the existing driver and add the new register map for the GISBv7 hardware first appearing in the BCM7278 device.

Changes since v2 at [2]:
- Removed code associated with enabling the hooking of ARM64 memory faults as well as the code that hooks them for both ARM and ARM64 architectures within the GISB arbiter driver.
- Created separate notifiers for die and panic events to prevent list corruption, and substituted the notifier return name for the previous magic number (Thanks Mark!)

Changes since v1 at [1]:
- Removed code associated with hooking SError handling in favor of a registered notifier (Thanks Mark!)
- Removed an unnecessary explicit cast (Thanks Gregory!)

[1] https://lkml.org/lkml/2017/3/24/413
[2] https://lkml.org/lkml/2017/3/28/1125

Doug Berger (6):
bus: brcmstb_gisb: Use register offsets with writes too
bus: brcmstb_gisb: correct support for 64-bit address output
bus: brcmstb_gisb: add notifier handling
bus: brcmstb_gisb: remove low-level ARM hooks
bus: brcmstb_gisb: enable driver for ARM64 architecture
bus: brcmstb_gisb: update to support new revision

 .../devicetree/bindings/bus/brcm,gisb-arb.txt      |   3 +-
 drivers/bus/Kconfig                                |   2 +-
 drivers/bus/brcmstb_gisb.c                         | 121 ++++++++++++---------
 3 files changed, 75 insertions(+), 51 deletions(-)
Signature · 1 line
2.12.0