Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /* Altera TSE SGDMA and MSGDMA Linux driver
0003  * Copyright (C) 2014 Altera Corporation. All rights reserved
0004  */
0005 
0006 #include "altera_tse.h"
0007 #include "altera_utils.h"
0008 
0009 void tse_set_bit(void __iomem *ioaddr, size_t offs, u32 bit_mask)
0010 {
0011     u32 value = csrrd32(ioaddr, offs);
0012     value |= bit_mask;
0013     csrwr32(value, ioaddr, offs);
0014 }
0015 
0016 void tse_clear_bit(void __iomem *ioaddr, size_t offs, u32 bit_mask)
0017 {
0018     u32 value = csrrd32(ioaddr, offs);
0019     value &= ~bit_mask;
0020     csrwr32(value, ioaddr, offs);
0021 }
0022 
0023 int tse_bit_is_set(void __iomem *ioaddr, size_t offs, u32 bit_mask)
0024 {
0025     u32 value = csrrd32(ioaddr, offs);
0026     return (value & bit_mask) ? 1 : 0;
0027 }
0028 
0029 int tse_bit_is_clear(void __iomem *ioaddr, size_t offs, u32 bit_mask)
0030 {
0031     u32 value = csrrd32(ioaddr, offs);
0032     return (value & bit_mask) ? 0 : 1;
0033 }