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

Joel Stanley joel at jms.id.au
Wed Mar 2 18:36:03 AEDT 2016


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.

> +                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