cregit-Linux how code gets into the kernel

Release 4.7 drivers/scsi/pcmcia/nsp_io.h

/*
  NinjaSCSI I/O funtions 
      By: YOKOTA Hiroshi <yokota@netlab.is.tsukuba.ac.jp>
 
  This software may be used and distributed according to the terms of
  the GNU General Public License.

  */

/* $Id: nsp_io.h,v 1.3 2003/08/04 21:15:26 elca Exp $ */

#ifndef __NSP_IO_H__

#define __NSP_IO_H__

static inline          void nsp_write(unsigned int base,
				      unsigned int index,
				      unsigned char val);
static inline unsigned char nsp_read(unsigned int base,
				     unsigned int index);
static inline          void nsp_index_write(unsigned int BaseAddr,
					    unsigned int Register,
					    unsigned char Value);
static inline unsigned char nsp_index_read(unsigned int BaseAddr,
					   unsigned int Register);

/*******************************************************************
 * Basic IO
 */


static inline void nsp_write(unsigned int base, unsigned int index, unsigned char val) { outb(val, (base + index)); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds30100.00%1100.00%
Total30100.00%1100.00%


static inline unsigned char nsp_read(unsigned int base, unsigned int index) { return inb(base + index); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds24100.00%1100.00%
Total24100.00%1100.00%

/********************************************************************** * Indexed IO */
static inline unsigned char nsp_index_read(unsigned int BaseAddr, unsigned int Register) { outb(Register, BaseAddr + INDEXREG); return inb(BaseAddr + DATAREG); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds33100.00%1100.00%
Total33100.00%1100.00%


static inline void nsp_index_write(unsigned int BaseAddr, unsigned int Register, unsigned char Value) { outb(Register, BaseAddr + INDEXREG); outb(Value, BaseAddr + DATAREG); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds37100.00%1100.00%
Total37100.00%1100.00%

/********************************************************************* * fifo func */ /* read 8 bit FIFO */
static inline void nsp_multi_read_1(unsigned int BaseAddr, unsigned int Register, void *buf, unsigned long count) { insb(BaseAddr + Register, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds34100.00%1100.00%
Total34100.00%1100.00%


static inline void nsp_fifo8_read(unsigned int base, void *buf, unsigned long count) { /*nsp_dbg(NSP_DEBUG_DATA_IO, "buf=0x%p, count=0x%lx", buf, count);*/ nsp_multi_read_1(base, FIFODATA, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds31100.00%2100.00%
Total31100.00%2100.00%

/*--------------------------------------------------------------*/ /* read 16 bit FIFO */
static inline void nsp_multi_read_2(unsigned int BaseAddr, unsigned int Register, void *buf, unsigned long count) { insw(BaseAddr + Register, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds34100.00%1100.00%
Total34100.00%1100.00%


static inline void nsp_fifo16_read(unsigned int base, void *buf, unsigned long count) { //nsp_dbg(NSP_DEBUG_DATA_IO, "buf=0x%p, count=0x%lx*2", buf, count); nsp_multi_read_2(base, FIFODATA, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds31100.00%2100.00%
Total31100.00%2100.00%

/*--------------------------------------------------------------*/ /* read 32bit FIFO */
static inline void nsp_multi_read_4(unsigned int BaseAddr, unsigned int Register, void *buf, unsigned long count) { insl(BaseAddr + Register, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds34100.00%1100.00%
Total34100.00%1100.00%


static inline void nsp_fifo32_read(unsigned int base, void *buf, unsigned long count) { //nsp_dbg(NSP_DEBUG_DATA_IO, "buf=0x%p, count=0x%lx*4", buf, count); nsp_multi_read_4(base, FIFODATA, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds31100.00%2100.00%
Total31100.00%2100.00%

/*----------------------------------------------------------*/ /* write 8bit FIFO */
static inline void nsp_multi_write_1(unsigned int BaseAddr, unsigned int Register, void *buf, unsigned long count) { outsb(BaseAddr + Register, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds34100.00%1100.00%
Total34100.00%1100.00%


static inline void nsp_fifo8_write(unsigned int base, void *buf, unsigned long count) { nsp_multi_write_1(base, FIFODATA, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds30100.00%1100.00%
Total30100.00%1100.00%

/*---------------------------------------------------------*/ /* write 16bit FIFO */
static inline void nsp_multi_write_2(unsigned int BaseAddr, unsigned int Register, void *buf, unsigned long count) { outsw(BaseAddr + Register, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds34100.00%1100.00%
Total34100.00%1100.00%


static inline void nsp_fifo16_write(unsigned int base, void *buf, unsigned long count) { nsp_multi_write_2(base, FIFODATA, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds30100.00%1100.00%
Total30100.00%1100.00%

/*---------------------------------------------------------*/ /* write 32bit FIFO */
static inline void nsp_multi_write_4(unsigned int BaseAddr, unsigned int Register, void *buf, unsigned long count) { outsl(BaseAddr + Register, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds34100.00%1100.00%
Total34100.00%1100.00%


static inline void nsp_fifo32_write(unsigned int base, void *buf, unsigned long count) { nsp_multi_write_4(base, FIFODATA, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds30100.00%1100.00%
Total30100.00%1100.00%

/*====================================================================*/
static inline void nsp_mmio_write(unsigned long base, unsigned int index, unsigned char val) { unsigned char *ptr = (unsigned char *)(base + NSP_MMIO_OFFSET + index); writeb(val, ptr); }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox44100.00%1100.00%
Total44100.00%1100.00%


static inline unsigned char nsp_mmio_read(unsigned long base, unsigned int index) { unsigned char *ptr = (unsigned char *)(base + NSP_MMIO_OFFSET + index); return readb(ptr); }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox40100.00%1100.00%
Total40100.00%1100.00%

/*-----------*/
static inline unsigned char nsp_mmio_index_read(unsigned long base, unsigned int reg) { unsigned char *index_ptr = (unsigned char *)(base + NSP_MMIO_OFFSET + INDEXREG); unsigned char *data_ptr = (unsigned char *)(base + NSP_MMIO_OFFSET + DATAREG); writeb((unsigned char)reg, index_ptr); return readb(data_ptr); }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox69100.00%1100.00%
Total69100.00%1100.00%


static inline void nsp_mmio_index_write(unsigned long base, unsigned int reg, unsigned char val) { unsigned char *index_ptr = (unsigned char *)(base + NSP_MMIO_OFFSET + INDEXREG); unsigned char *data_ptr = (unsigned char *)(base + NSP_MMIO_OFFSET + DATAREG); writeb((unsigned char)reg, index_ptr); writeb(val, data_ptr); }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox73100.00%1100.00%
Total73100.00%1100.00%

/* read 32bit FIFO */
static inline void nsp_mmio_multi_read_4(unsigned long base, unsigned int Register, void *buf, unsigned long count) { unsigned long *ptr = (unsigned long *)(base + Register); unsigned long *tmp = (unsigned long *)buf; int i; //nsp_dbg(NSP_DEBUG_DATA_IO, "base 0x%0lx ptr 0x%p",base,ptr); for (i = 0; i < count; i++) { *tmp = readl(ptr); //nsp_dbg(NSP_DEBUG_DATA_IO, "<%d,%p,%p,%lx>", i, ptr, tmp, *tmp); tmp++; } }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox8097.56%150.00%
linus torvaldslinus torvalds22.44%150.00%
Total82100.00%2100.00%


static inline void nsp_mmio_fifo32_read(unsigned int base, void *buf, unsigned long count) { //nsp_dbg(NSP_DEBUG_DATA_IO, "buf=0x%p, count=0x%lx*4", buf, count); nsp_mmio_multi_read_4(base, FIFODATA, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox3096.77%150.00%
linus torvaldslinus torvalds13.23%150.00%
Total31100.00%2100.00%


static inline void nsp_mmio_multi_write_4(unsigned long base, unsigned int Register, void *buf, unsigned long count) { unsigned long *ptr = (unsigned long *)(base + Register); unsigned long *tmp = (unsigned long *)buf; int i; //nsp_dbg(NSP_DEBUG_DATA_IO, "base 0x%0lx ptr 0x%p",base,ptr); for (i = 0; i < count; i++) { writel(*tmp, ptr); //nsp_dbg(NSP_DEBUG_DATA_IO, "<%d,%p,%p,%lx>", i, ptr, tmp, *tmp); tmp++; } }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox8097.56%150.00%
linus torvaldslinus torvalds22.44%150.00%
Total82100.00%2100.00%


static inline void nsp_mmio_fifo32_write(unsigned int base, void *buf, unsigned long count) { //nsp_dbg(NSP_DEBUG_DATA_IO, "buf=0x%p, count=0x%lx*4", buf, count); nsp_mmio_multi_write_4(base, FIFODATA, buf, count); }

Contributors

PersonTokensPropCommitsCommitProp
alan coxalan cox3096.77%150.00%
linus torvaldslinus torvalds13.23%150.00%
Total31100.00%2100.00%

#endif /* end */

Overall Contributors

PersonTokensPropCommitsCommitProp
linus torvaldslinus torvalds60857.52%375.00%
alan coxalan cox44942.48%125.00%
Total1057100.00%4100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}