Messages in this thread | | | Date | Wed, 5 Sep 2012 15:00:20 +0200 | Subject | Re: [RFC 1/2] virtio_console: Add support for DMA memory allocation | From | Sjur Brændeland <> |
| |
> The driver certainly shouldn't offer VIRTIO_CONSOLE_F_DMA_MEM if you > don't have DMA!
OK, so the feature table could be done like this:
static unsigned int features[] = { VIRTIO_CONSOLE_F_SIZE, VIRTIO_CONSOLE_F_MULTIPORT, #if VIRTIO_CONSOLE_HAS_DMA VIRTIO_CONSOLE_F_DMA_MEM, #endif }
If the device then asks for VIRTIO_CONSOLE_F_DMA_MEM when DMA is not supported, virtio will do BUG_ON() from virtio_check_driver_offered_feature().
Is this acceptable or should we add a check in virtcons_probe() and let the probing fail instead?
E.g: /* Refuse to bind if F_DMA_MEM request cannot be met */ if (!VIRTIO_CONSOLE_HAS_DMA && (vdev->config->get_features(vdev) & (1 << VIRTIO_CONSOLE_F_DMA_MEM))){ dev_err(&vdev->dev, "DMA_MEM requested, but arch does not support DMA\n"); err = -EINVAL; goto fail; }
Regards, Sjur
| |