On Thu, Jul 18, 2019 at 11:57:46AM -0600, Lina Iyer wrote: > On Thu, Jul 18 2019 at 07:19 -0600, Sudeep Holla wrote: [...] > > > > Yes 2 different issues here: > > 1. The direct assignment overwriting the value is problem which you agree. > > 2. The OR logic on it's own is bit not so clear from the specification. > > Since firmware authors need to be aware of this to make all these > > work. So it's not implicit, either we set this requirement in form > > of binding. We were also thinking of stating composite state in the > > DT, still just a thought, need to come up with examples/illustrations. > > > It is generally very obvious to firmware authors to map hardware > definitions to specific bits in the state param. If a cluster component > has more than on/off state, more bits are assigned to the define the > idle states of the component. While I completely agree that generally the firmware authors tend to assign a bit(s) to indicate a state, it not so evident from the PSCI specification. My worry is someone shouldn't come up with sequential numbering and expect this to work. I am fine with OR, but we need to document it somewhere so that we can point people so that the driver in the kernel is not expected to work with any other schema of numbering StateID that violates the assumption. > Addition is also an option, but there are enough bits compared to the > hardware components that we have in each state, that it hasn't been a > problem. > Yes, but with extended format, the StateType move to bit 30, and if we represent each individual state to indicate that bit correctly(I except everyone to so that and it shouldn't cause issue if we OR the parameters to get composite states), addition may cause issues. -- Regards, Sudeep