|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 8/9] xue: mark DMA buffers as reserved for the device
On 20.07.2022 22:17, Marek Marczykowski-Górecki wrote:
> On Thu, Jul 14, 2022 at 01:51:06PM +0200, Jan Beulich wrote:
>> On 06.07.2022 17:32, Marek Marczykowski-Górecki wrote:
>>> + /*
>>> + * Don't place anything else on this page - it will be
>>> + * DMA-reachable by the USB controller.
>>> + */
>>> + char _pad[0] __aligned(XUE_PAGE_SIZE);
>>
>> I don't think this is needed, due to sizeof() being required to be
>> a multiple of alignof().
>
> I'd prefer to be explicit about this, because if some future change
> breaks this property (makes alignment smaller than a page size), the
> result will be pretty bad.
I don't mind you leaving the comment; anyone making adjustments there
ought to be checking the effects of what they're doing.
>>> @@ -990,16 +999,22 @@ void __init xue_uart_init(void)
>>> xue->sbdf = PCI_SBDF(0, bus, slot, func);
>>> }
>>>
>>> - xue->dbc_ctx = &ctx;
>>> - xue->dbc_erst = &erst;
>>> - xue->dbc_ering.trb = evt_trb;
>>> - xue->dbc_oring.trb = out_trb;
>>> - xue->dbc_iring.trb = in_trb;
>>> - xue->dbc_owork.buf = wrk_buf;
>>> - xue->dbc_str = str_buf;
>>> + xue->dbc_ctx = &xue_dma_bufs.ctx;
>>> + xue->dbc_erst = &xue_dma_bufs.erst;
>>> + xue->dbc_ering.trb = xue_dma_bufs.evt_trb;
>>> + xue->dbc_oring.trb = xue_dma_bufs.out_trb;
>>> + xue->dbc_iring.trb = xue_dma_bufs.in_trb;
>>> + xue->dbc_owork.buf = xue_dma_bufs.wrk_buf;
>>> + xue->dbc_str = xue_dma_bufs.str_buf;
>>>
>>> if ( xue_open(xue) )
>>> + {
>>> + iommu_add_extra_reserved_device_memory(
>>> + PFN_DOWN(virt_to_maddr(&xue_dma_bufs)),
>>
>> virt_to_pfn()?
>
> Doesn't exist. Did you mean virt_to_mfn()?
Oh, sorry, never mind then. virt_to_mfn() would be good to use if
the function took mfn_t, but as long as it doesn't what you have
is as good.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |