lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 741/917] dmaengine: idxd: reconfig device after device reset command
    Date
    From: Dave Jiang <dave.jiang@intel.com>

    [ Upstream commit e530a9f3db4188d1f4e3704b0948ef69c04d5ca6 ]

    Device reset clears the MSIXPERM table and the device registers. Re-program
    the MSIXPERM table and re-enable the error interrupts post reset.

    Fixes: 745e92a6d816 ("dmaengine: idxd: idxd: move remove() bits for idxd 'struct device' to device.c")
    Reported-by: Sanjay Kumar <sanjay.k.kumar@intel.com>
    Signed-off-by: Dave Jiang <dave.jiang@intel.com>
    Link: https://lore.kernel.org/r/163054188513.2853562.12077053294595278181.stgit@djiang5-desk3.ch.intel.com
    Signed-off-by: Vinod Koul <vkoul@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/dma/idxd/device.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/drivers/dma/idxd/device.c b/drivers/dma/idxd/device.c
    index cbbfa17d8d11b..419b206f8a42d 100644
    --- a/drivers/dma/idxd/device.c
    +++ b/drivers/dma/idxd/device.c
    @@ -583,6 +583,8 @@ void idxd_device_reset(struct idxd_device *idxd)
    spin_lock(&idxd->dev_lock);
    idxd_device_clear_state(idxd);
    idxd->state = IDXD_DEV_DISABLED;
    + idxd_unmask_error_interrupts(idxd);
    + idxd_msix_perm_setup(idxd);
    spin_unlock(&idxd->dev_lock);
    }

    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 01:48    [W:4.407 / U:0.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site