Skip to content

media: platform: raspberrypi: rp1_cfe: Add more debug registers#7338

Open
njhollinghurst wants to merge 1 commit intoraspberrypi:rpi-6.18.yfrom
njhollinghurst:cfe-more-debug
Open

media: platform: raspberrypi: rp1_cfe: Add more debug registers#7338
njhollinghurst wants to merge 1 commit intoraspberrypi:rpi-6.18.yfrom
njhollinghurst:cfe-more-debug

Conversation

@njhollinghurst
Copy link
Copy Markdown
Contributor

Dump ISP-FE registers FE_DEBUG_FIFO_FULLNESS and FE_DEBUG_STATUS2. The latter gives an atomic snapshot of state and frames completed.

Dump a CSI-2 Host register which shows which lanes are in LP11.

Dump some sticky error registers from the D-PHY and CSI-2 Host; note that they will be cleared on every read. This is harmless, since they are not used for any purpose other than debug.

Dump ISP-FE registers FE_DEBUG_FIFO_FULLNESS and FE_DEBUG_STATUS2.
The latter gives an atomic snapshot of state and frames completed.

Dump a CSI-2 Host register which shows which lanes are in LP11.

Dump some sticky error registers from the D-PHY and CSI-2 Host;
note that they will be cleared on every read. This is harmless,
since they are not used for any purpose other than debug.

Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
@njhollinghurst njhollinghurst requested review from 6by9 and naushir April 27, 2026 17:49
Copy link
Copy Markdown
Contributor

@6by9 6by9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just the one query, otherwise looks fine.

struct dphy_data *dphy = s->private;
int ret;

ret = pm_runtime_resume_and_get(dphy->dev);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might question whether it is better to use pm_runtime_get_if_in_use so that if the hardware isn't powered up you get told that rather than just getting the hardware defaults.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quite possibly. I copied and pasted similar code from pisp_fe.c.

BTW I did also wonder about using debugfs_create_regset32() instead; but it wasn't clear how that might interact with the read-to-clear registers. Not sure what if anything it does for power management.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've just found the same in csi2.c as well. All might benefit from it, assuming that pm_runtime counting is actually correct.

Using regset only really gives a benefit if already using regset, and the CFE driver isn't.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants