Page MenuHomeFreeBSD

Introduce support for Annapurna Alpine CCU and NB devices
ClosedPublic

Authored by mst_semihalf.com on Aug 18 2016, 4:09 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Dec 9, 3:23 AM
Unknown Object (File)
Dec 2 2024, 7:16 PM
Unknown Object (File)
Nov 30 2024, 6:42 AM
Unknown Object (File)
Nov 24 2024, 11:23 PM
Unknown Object (File)
Nov 23 2024, 10:16 PM
Unknown Object (File)
Nov 22 2024, 10:44 AM
Unknown Object (File)
Nov 20 2024, 12:52 AM
Unknown Object (File)
Nov 19 2024, 11:16 AM

Details

Summary

This commit adds drivers for Alpine Cache Coherency Unit and North Bridge Service whose task is to configure the system fabric and enable cache coherency.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

mst_semihalf.com retitled this revision from to Introduce support for Annapurna Alpine CCU and NB devices.
mst_semihalf.com updated this object.
mst_semihalf.com edited the test plan for this revision. (Show Details)
mst_semihalf.com added reviewers: zbb, imp, ian.
mst_semihalf.com set the repository for this revision to rS FreeBSD src repository - subversion.
mst_semihalf.com added subscribers: arm64, ARM.
sys/conf/files.arm64
2–3 ↗(On Diff #19459)

These should be selected based on a device entry, the soc_* names are used to add an SoC specific attachment for an existing driver.

sys/conf/files.arm64
2–3 ↗(On Diff #19459)

OK, I can change it to device entries instead.

Use device entries al_ccu and al_nb_service instead of SOC option.

sys/arm/annapurna/alpine/alpine_ccu.c
36 ↗(On Diff #19542)

From style(9):

...include <sys/types.h> OR <sys/param.h>, but not both.
41 ↗(On Diff #19542)

No need to include sys/bus.h twice.

80 ↗(On Diff #19542)

Why is this BUS_PASS_CPU?

99–112 ↗(On Diff #19542)

Why is this a separate function? It's short and only called from one place.

sys/arm/annapurna/alpine/alpine_nb_service.c
32–41 ↗(On Diff #19542)

See above for comments on these includes.

79 ↗(On Diff #19542)

Why is this BUS_PASS_CPU?

99 ↗(On Diff #19542)

Why an separate function?

sys/arm64/conf/GENERIC
92–93 ↗(On Diff #19542)

You should add a comment to explain what these are for and add a header with something like Annapurna Alpine drivers above them.

sys/conf/files
79–80 ↗(On Diff #19542)

These should be in files.arm and files.arm64 as they are specific to these. They should also depend on fdt as there are no ACPI bindings.

sys/arm/annapurna/alpine/alpine_ccu.c
80 ↗(On Diff #19542)

These drivers need to attach quite early, earlier than PCI and other devices, but later than simplebus. I saw that psci used BUS_PASS_CPU. Which BUS_PASS would you propose?

99–112 ↗(On Diff #19542)

I thought it was nicer but I can move it to attach() if you like.

Fix style issues raised in review.

wma edited edge metadata.

It seems that all reported issues were fixed.
Looks good to me, so I'll commit the patch tomorrow if no other problem is raised by then.

This revision is now accepted and ready to land.Sep 6 2016, 3:19 PM
This revision was automatically updated to reflect the committed changes.