On Fri, Apr 11, 2025 at 12:52:32PM +0200, Konrad Dybcio wrote: > On 4/11/25 12:50 PM, Dmitry Baryshkov wrote: > > On Fri, Apr 11, 2025 at 12:03:03PM +0200, Konrad Dybcio wrote: > >> On 4/11/25 11:57 AM, Dmitry Baryshkov wrote: > >>> On Fri, 11 Apr 2025 at 12:49, Konrad Dybcio > >>> <konrad.dyb...@oss.qualcomm.com> wrote: > >>>> > >>>> On 4/9/25 5:49 PM, Konrad Dybcio wrote: > >>>>> On 4/9/25 5:44 PM, Dmitry Baryshkov wrote: > >>>>>> On 09/04/2025 17:47, Konrad Dybcio wrote: > >>>>>>> SMEM allows the OS to retrieve information about the DDR memory. > >>>>>>> Among that information, is a semi-magic value called 'HBB', or Highest > >>>>>>> Bank address Bit, which multimedia drivers (for hardware like Adreno > >>>>>>> and MDSS) must retrieve in order to program the IP blocks correctly. > >>>>>>> > >>>>>>> This series introduces an API to retrieve that value, uses it in the > >>>>>>> aforementioned programming sequences and exposes available DDR > >>>>>>> frequencies in debugfs (to e.g. pass to aoss_qmp debugfs). More > >>>>>>> information can be exposed in the future, as needed. > >>>>>> > >>>>>> I know that for some platforms HBB differs between GPU and DPU (as > >>>>>> it's being programmed currently). Is there a way to check, which > >>>>>> values are we going to program: > >>>>>> > >>>>>> - SM6115, SM6350, SM6375 (13 vs 14) > >>>> > >>>> SM6350 has INFO_V3 > >>>> SM6375 has INFO_V3_WITH_14_FREQS > >>> > >>> I'm not completely sure what you mean here. I pointed out that these > >>> platforms disagreed upon the HBB value between the DPU/msm_mdss.c and > >>> a6xx_gpu.c. > >>> In some cases (a610/SM6115 and a619/SM6350) that was intentional to > >>> fix screen corruption issues. I don't remember if it was the case for > >>> QCM2290 or not. > >> > >> As I said below, I couldn't get a good answer yet, as the magic value > >> is not provided explicitly and I'll hopefully be able to derive it from > >> the available data > > > > I see... > > Is this data even supposed to be poked into? The foo_WITH_bar types > > doesn't sound like a very stable API. > > Yeah, it was designed with both the producer and consumer being part > of a single codebase, always having the data structures in sync..
I feel somewhat worried about parsing those structures then. But... the only viable alternative is to have an in-kernel list of possible platform configurations and parse the /memory@foo/ddr_device_type property. -- With best wishes Dmitry