|
@@ -982,10 +982,10 @@ static void build_inv_iotlb_pasid(struct iommu_cmd *cmd, u16 devid, int pasid,
|
|
|
address &= ~(0xfffULL);
|
|
|
|
|
|
cmd->data[0] = devid;
|
|
|
- cmd->data[0] |= (pasid & 0xff) << 16;
|
|
|
+ cmd->data[0] |= ((pasid >> 8) & 0xff) << 16;
|
|
|
cmd->data[0] |= (qdep & 0xff) << 24;
|
|
|
cmd->data[1] = devid;
|
|
|
- cmd->data[1] |= ((pasid >> 8) & 0xfff) << 16;
|
|
|
+ cmd->data[1] |= (pasid & 0xff) << 16;
|
|
|
cmd->data[2] = lower_32_bits(address);
|
|
|
cmd->data[2] |= CMD_INV_IOMMU_PAGES_GN_MASK;
|
|
|
cmd->data[3] = upper_32_bits(address);
|