Re: [PATCH] i3c: don't fail if GETHDRCAP is unsupported

Wolfram Sang
2025-06-25T20:34:59Z

> > If a target has the HDR_CAP bit set in BCR, the core wants to get
> > additional information using the CCC 'GETHDRCAP'. Not all controllers
> > support this CCC, though.
>
> Do you know which target device support HDR? I3C master API don't HDR yet.

The problem is bigger but I didn't want to tackle all of it right now.
'I3C_BCR_HDR_CAP' is still spec v1.0 and has been renamed to 'advanced
capabilities' in v1.1 onwards. That means the CCC was also modified to
get the advanced caps (while it is backwards compatible if you only read
the first byte I have been told, didn't check). So, if you get the ST
pressure sensor LPS22DF, it will not have HDR, but it will have the
'advanced cap' bit set.

Because my controller neither supports old GETHDRCAP nor new GETCAPS
CCC, it will bail out and not instantiate the device. Which is wrong,
because we can deal with it good enough without the extended
capabilities.

Maybe I should update the commit message a bit?

> This is not fatal and can be safely skipped, as the information is not
> necessary if HDR is unsupported by the controller anyway.

It is fatal because the target device is not instantiated while it
could be. I tested it.