[Skiboot] [PATCH v7 8/9] nest abus and xbus units support

Madhavan Srinivasan maddy at linux.vnet.ibm.com
Thu Mar 3 15:51:23 AEDT 2016



On Wednesday 02 March 2016 01:06 PM, Joel Stanley wrote:
> On Tue, Mar 1, 2016 at 9:10 PM, Madhavan Srinivasan
> <maddy at linux.vnet.ibm.com> wrote:
>> Add support for nest abus and xbus units. In general xbus connects
>> the chips within the dual chip modules(dcm) and abus connects sockets.
>>
>> Signed-off-by: Madhavan Srinivasan <maddy at linux.vnet.ibm.com>
>> ---
>>  hw/nest.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 59 insertions(+)
>>
>> diff --git a/hw/nest.c b/hw/nest.c
>> index 18780ea7f874..fc02a11f2aa7 100644
>> --- a/hw/nest.c
>> +++ b/hw/nest.c
>> @@ -58,6 +58,23 @@ struct catalog_grp_to_dt_node dev_grp_map[NEST_DT_DEVICE_MAX];
>>   */
>>  struct nest_catalog_page_0 *page0_desc;
>>
>> +static bool is_P8_proc(void)
>> +{
>> +        struct proc_chip *chip;
>> +
>> +        chip = get_chip(this_cpu()->chip_id);
>> +        switch(chip->type) {
>> +        case PROC_CHIP_P8_VENICE:
>> +        case PROC_CHIP_P8_NAPLES:
> No Murano? If so, is_p8_proc is a confusing name.
>
> If it's supposed to include all of the p8s, you could use this
> function in opal_nest_counters_control() in your other patch.

Right, could use the same in the
opal_nest_counter_control() function. Nice.
My bad, removed it when removing support of
murano, but yes, will it add it.

Maddy

>> +                return true;
>> +        default:
>> +                break;
>> +        }
>> +
>> +        return false;
>> +}
>> +
>> +
>>  static struct dt_node *
>>  dt_add_device_node(struct dt_node *ptr, const char *name)
>>  {
>> @@ -192,6 +209,34 @@ static int dt_create_nest_powerbus_node(struct dt_node *type,
>>         return 0;
>>  }
>>
>> +static int dt_create_nest_abus_xbus_node(struct dt_node *type,
>> +                       struct nest_catalog_group_data *gptr, char *name)
>> +{
>> +       int idx;
>> +       u32 offset;
>> +       const char *unit = "MiB", *scale = "7.629e-6";
>> +
>> +       for(idx = 0; idx < 3; idx++) {
> Spacing.
>
>> +               offset = get_chip_event_offset(gptr->event_index[idx],
>> +                                                               DOMAIN_CHIP);



More information about the Skiboot mailing list