Skip to content

Commit

Permalink
powerpc/pseries: Introduce dlpar_unisolate_drc()
Browse files Browse the repository at this point in the history
Next patch will execute a set-indicator call in hotplug-cpu.c.

Create a dlpar_unisolate_drc() helper to avoid spreading more
rtas_set_indicator() calls outside of dlpar.c.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210416210216.380291-2-danielhb413@gmail.com
  • Loading branch information
Daniel Henrique Barboza authored and Michael Ellerman committed Apr 20, 2021
1 parent 864ec4d commit 0e3b3ff
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
14 changes: 14 additions & 0 deletions arch/powerpc/platforms/pseries/dlpar.c
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,20 @@ int dlpar_release_drc(u32 drc_index)
return 0;
}

int dlpar_unisolate_drc(u32 drc_index)
{
int dr_status, rc;

rc = rtas_call(rtas_token("get-sensor-state"), 2, 2, &dr_status,
DR_ENTITY_SENSE, drc_index);
if (rc || dr_status != DR_ENTITY_PRESENT)
return -1;

rtas_set_indicator(ISOLATION_STATE, drc_index, UNISOLATE);

return 0;
}

int handle_dlpar_errorlog(struct pseries_hp_errorlog *hp_elog)
{
int rc;
Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/platforms/pseries/pseries.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ extern int dlpar_attach_node(struct device_node *, struct device_node *);
extern int dlpar_detach_node(struct device_node *);
extern int dlpar_acquire_drc(u32 drc_index);
extern int dlpar_release_drc(u32 drc_index);
extern int dlpar_unisolate_drc(u32 drc_index);

void queue_hotplug_event(struct pseries_hp_errorlog *hp_errlog);
int handle_dlpar_errorlog(struct pseries_hp_errorlog *hp_errlog);
Expand Down

0 comments on commit 0e3b3ff

Please sign in to comment.