irqchip/gic-v3-its: Drop the setting of PTZ altogether
GICv4.1 gives a way to get the VLPI state, which needs to map the vPE first, and after the state read, we may remap the vPE back while the VPT is not empty. So we can't assume that the VPT is empty at the first map. Besides, the optimization of PTZ is probably limited since the HW should be fairly efficient to parse the empty VPT. Let's drop the setting of PTZ altogether. Signed-off-by: Shenming Lu <lushenming@huawei.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20210322060158.1584-3-lushenming@huawei.com
This commit is contained in:
parent
301beaf197
commit
c21bc068cd
@ -794,8 +794,13 @@ static struct its_vpe *its_build_vmapp_cmd(struct its_node *its,
|
||||
|
||||
its_encode_alloc(cmd, alloc);
|
||||
|
||||
/* We can only signal PTZ when alloc==1. Why do we have two bits? */
|
||||
its_encode_ptz(cmd, alloc);
|
||||
/*
|
||||
* GICv4.1 provides a way to get the VLPI state, which needs the vPE
|
||||
* to be unmapped first, and in this case, we may remap the vPE
|
||||
* back while the VPT is not empty. So we can't assume that the
|
||||
* VPT is empty on map. This is why we never advertise PTZ.
|
||||
*/
|
||||
its_encode_ptz(cmd, false);
|
||||
its_encode_vconf_addr(cmd, vconf_addr);
|
||||
its_encode_vmapp_default_db(cmd, desc->its_vmapp_cmd.vpe->vpe_db_lpi);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user