[PATCH 4/5] powerpc: Add support for swiotlb on 32-bit
Becky Bruce
beckyb at kernel.crashing.org
Tue Apr 21 05:06:24 EST 2009
On Apr 20, 2009, at 1:31 PM, Kumar Gala wrote:
>
> On Apr 20, 2009, at 11:26 AM, Becky Bruce wrote:
>
>> +static int ppc_swiotlb_bus_notify(struct notifier_block *nb,
>> + unsigned long action, void *data)
>> +{
>> + struct device *dev = data;
>> +
>> + /* We are only intereted in device addition */
>> + if (action != BUS_NOTIFY_ADD_DEVICE)
>> + return 0;
>> +
>> + if (dma_get_mask(dev) < DMA_BIT_MASK(36))
>> + set_dma_ops(dev, &swiotlb_dma_ops);
>> +
>> + return NOTIFY_DONE;
>> +}
>> +
>> +static struct notifier_block ppc_swiotlb_plat_bus_notifier = {
>> + .notifier_call = ppc_swiotlb_bus_notify,
>> + .priority = 0,
>> +};
>> +
>> +static struct notifier_block ppc_swiotlb_of_bus_notifier = {
>> + .notifier_call = ppc_swiotlb_bus_notify,
>> + .priority = 0,
>> +};
>> +
>> +static int __init setup_bus_notifier(void)
>> +{
>> + bus_register_notifier(&platform_bus_type,
>> + &ppc_swiotlb_plat_bus_notifier);
>> + bus_register_notifier(&of_platform_bus_type,
>> + &ppc_swiotlb_of_bus_notifier);
>> +
>> + return 0;
>> +}
>
> I think we should move all this into the platform code for now. I
> don't like having to duplicate it but that gives us the proper
> flexibility for now.
Ugh, gross. I'd like to think about this some more.
-B
More information about the Linuxppc-dev
mailing list