105 lines
2.7 KiB
C
105 lines
2.7 KiB
C
/******************************************************************************
|
|
* Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
|
|
*
|
|
* Based on the r8180 driver, which is:
|
|
* Copyright 2004-2005 Andrea Merello <andreamrl@tiscali.it>, et al.
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of version 2 of the GNU General Public License as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along with
|
|
* this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
|
|
*
|
|
* The full GNU General Public License is included in this distribution in the
|
|
* file called LICENSE.
|
|
*
|
|
* Contact Information:
|
|
* wlanfae <wlanfae@realtek.com>
|
|
******************************************************************************/
|
|
#ifndef _RTL_PCI_H
|
|
#define _RTL_PCI_H
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/pci.h>
|
|
#include "rtllib.h"
|
|
|
|
static inline void NdisRawWritePortUlong(u32 port, u32 val)
|
|
{
|
|
outl(val, port);
|
|
}
|
|
|
|
static inline void NdisRawWritePortUchar(u32 port, u8 val)
|
|
{
|
|
outb(val, port);
|
|
}
|
|
|
|
static inline void NdisRawReadPortUchar(u32 port, u8 *pval)
|
|
{
|
|
*pval = inb(port);
|
|
}
|
|
|
|
static inline void NdisRawReadPortUshort(u32 port, u16 *pval)
|
|
{
|
|
*pval = inw(port);
|
|
}
|
|
|
|
static inline void NdisRawReadPortUlong(u32 port, u32 *pval)
|
|
{
|
|
*pval = inl(port);
|
|
}
|
|
|
|
struct mp_adapter {
|
|
u8 LinkCtrlReg;
|
|
|
|
u8 BusNumber;
|
|
u8 DevNumber;
|
|
u8 FuncNumber;
|
|
|
|
u8 PciBridgeBusNum;
|
|
u8 PciBridgeDevNum;
|
|
u8 PciBridgeFuncNum;
|
|
u8 PciBridgeVendor;
|
|
u16 PciBridgeVendorId;
|
|
u16 PciBridgeDeviceId;
|
|
u8 PciBridgePCIeHdrOffset;
|
|
u8 PciBridgeLinkCtrlReg;
|
|
};//,*pmp_adapter;
|
|
|
|
struct rt_pci_capab_header {
|
|
unsigned char CapabilityID;
|
|
unsigned char Next;
|
|
};
|
|
|
|
#define PCI_MAX_BRIDGE_NUMBER 255
|
|
#define PCI_MAX_DEVICES 32
|
|
#define PCI_MAX_FUNCTION 8
|
|
|
|
#define PCI_CONF_ADDRESS 0x0CF8
|
|
#define PCI_CONF_DATA 0x0CFC
|
|
|
|
#define PCI_CLASS_BRIDGE_DEV 0x06
|
|
#define PCI_SUBCLASS_BR_PCI_TO_PCI 0x04
|
|
|
|
#define U1DONTCARE 0xFF
|
|
#define U2DONTCARE 0xFFFF
|
|
#define U4DONTCARE 0xFFFFFFFF
|
|
|
|
#define INTEL_VENDOR_ID 0x8086
|
|
#define SIS_VENDOR_ID 0x1039
|
|
#define ATI_VENDOR_ID 0x1002
|
|
#define ATI_DEVICE_ID 0x7914
|
|
#define AMD_VENDOR_ID 0x1022
|
|
|
|
#define PCI_CAPABILITY_ID_PCI_EXPRESS 0x10
|
|
|
|
struct net_device;
|
|
bool rtl8192_pci_findadapter(struct pci_dev *pdev, struct net_device *dev);
|
|
|
|
#endif
|