forked from Minki/linux
powerpc/pseries: Introduce dlpar_unisolate_drc()
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
This commit is contained in:
parent
864ec4d40c
commit
0e3b3ff83c
@ -329,6 +329,20 @@ int dlpar_release_drc(u32 drc_index)
|
|||||||
return 0;
|
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 handle_dlpar_errorlog(struct pseries_hp_errorlog *hp_elog)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
@ -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_detach_node(struct device_node *);
|
||||||
extern int dlpar_acquire_drc(u32 drc_index);
|
extern int dlpar_acquire_drc(u32 drc_index);
|
||||||
extern int dlpar_release_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);
|
void queue_hotplug_event(struct pseries_hp_errorlog *hp_errlog);
|
||||||
int handle_dlpar_errorlog(struct pseries_hp_errorlog *hp_errlog);
|
int handle_dlpar_errorlog(struct pseries_hp_errorlog *hp_errlog);
|
||||||
|
Loading…
Reference in New Issue
Block a user