• Dave Jiang's avatar
    dmaengine: idxd: create user driver for wq 'device' · 448c3de8
    Dave Jiang authored
    The original architecture of /sys/bus/dsa invented a scheme whereby a
    single entry in the list of bus drivers, /sys/bus/drivers/dsa, handled
    all device types and internally routed them to different drivers.
    Those internal drivers were invisible to userspace. Now, as
    /sys/bus/dsa wants to grow support for alternate drivers for a given
    device, for example vfio-mdev instead of kernel-internal-dmaengine, a
    proper bus device-driver model is needed. The first step in that process
    is separating the existing omnibus/implicit "dsa" driver into proper
    individual drivers registered on /sys/bus/dsa. Establish the
    idxd_user_drv driver that controls the enabling and disabling of the
    wq and also register and unregister a char device to allow user space
    to mmap the descriptor submission portal.
    
    The cdev related bits are moved to the cdev driver probe/remove and out of
    the drv_enabe/disable_wq() calls. These bits are exclusive to the cdev
    operation and not part of the g...
    448c3de8
init.c 23.1 KB