• Alexander Duyck's avatar
    i40e: Clean up handling of msglevel flags and debug parameter · 5d4ca23e
    Alexander Duyck authored
    So the i40e driver had a really convoluted configuration for how to handle
    the debug flags contained in msg_level.  Part of the issue is that the
    driver has its own 32 bit mask that it was using to track a separate set of
    debug features.  From what I can tell it was trying to use the upper 4 bits
    to determine if the value was meant to represent a bit-mask or the numeric
    value provided by debug level.
    
    What this patch does is clean this up by compressing those 4 bits into bit
    31, as a result we just have to perform a check against the value being
    negative to determine if we are looking at a debug level (positive), or a
    debug mask (negative).  The debug level will populate the msg_level, and
    the debug mask will populate the debug_mask in the hardware struct.
    
    I added similar logic for ethtool.  If the value being provided has bit 31
    set we assume the value being provided is a debug mask, otherwise we assume
    it is a msg_enable mask.  For displaying we only provide the msg_enable,
    and if debug_mask is in use we will print it to the dmesg log.
    
    Lastly I removed the debugfs interface.  It is redundant with what we
    already have in ethtool and really doesn't belong anyway.
    Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    5d4ca23e
i40e_main.c 318 KB