Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
cthw20k1.c File Reference
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/pci.h>
#include <linux/io.h>
#include <linux/string.h>
#include <linux/spinlock.h>
#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include "cthw20k1.h"
#include "ct20k1reg.h"

Go to the source code of this file.

Data Structures

struct  hw20k1
 
union  src_dirty
 
struct  src_rsc_ctrl_blk
 
union  src_mgr_dirty
 
struct  src_mgr_ctrl_blk
 
struct  srcimap
 
union  srcimp_mgr_dirty
 
struct  srcimp_mgr_ctrl_blk
 
union  amixer_dirty
 
struct  amixer_rsc_ctrl_blk
 
union  dai_dirty
 
struct  dai_ctrl_blk
 
union  dao_dirty
 
struct  dao_ctrl_blk
 
struct  daoimap
 
union  daio_mgr_dirty
 
struct  daio_mgr_ctrl_blk
 
struct  dac_conf
 
struct  adc_conf
 
struct  daio_conf
 
struct  trn_conf
 

Macros

#define CT_XFI_DMA_MASK   DMA_BIT_MASK(64) /* 64 bit PTE */
 
#define SRCCTL_STATE   0x00000007
 
#define SRCCTL_BM   0x00000008
 
#define SRCCTL_RSR   0x00000030
 
#define SRCCTL_SF   0x000001C0
 
#define SRCCTL_WR   0x00000200
 
#define SRCCTL_PM   0x00000400
 
#define SRCCTL_ROM   0x00001800
 
#define SRCCTL_VO   0x00002000
 
#define SRCCTL_ST   0x00004000
 
#define SRCCTL_IE   0x00008000
 
#define SRCCTL_ILSZ   0x000F0000
 
#define SRCCTL_BP   0x00100000
 
#define SRCCCR_CISZ   0x000007FF
 
#define SRCCCR_CWA   0x001FF800
 
#define SRCCCR_D   0x00200000
 
#define SRCCCR_RS   0x01C00000
 
#define SRCCCR_NAL   0x3E000000
 
#define SRCCCR_RA   0xC0000000
 
#define SRCCA_CA   0x03FFFFFF
 
#define SRCCA_RS   0x1C000000
 
#define SRCCA_NAL   0xE0000000
 
#define SRCSA_SA   0x03FFFFFF
 
#define SRCLA_LA   0x03FFFFFF
 
#define MPRLH_PITCH   0xFFFFFFFF
 
#define SRCAIM_ARC   0x00000FFF
 
#define SRCAIM_NXT   0x00FF0000
 
#define SRCAIM_SRC   0xFF000000
 
#define AR_SLOT_SIZE   4096
 
#define AR_SLOT_BLOCK_SIZE   16
 
#define AR_PTS_PITCH   6
 
#define AR_PARAM_SRC_OFFSET   0x60
 
#define AMOPLO_M   0x00000003
 
#define AMOPLO_X   0x0003FFF0
 
#define AMOPLO_Y   0xFFFC0000
 
#define AMOPHI_SADR   0x000000FF
 
#define AMOPHI_SE   0x80000000
 
#define SRTCTL_SRCR   0x000000FF
 
#define SRTCTL_SRCL   0x0000FF00
 
#define SRTCTL_RSR   0x00030000
 
#define SRTCTL_DRAT   0x000C0000
 
#define SRTCTL_RLE   0x10000000
 
#define SRTCTL_RLP   0x20000000
 
#define SRTCTL_EC   0x40000000
 
#define SRTCTL_ET   0x80000000
 
#define AIM_ARC   0x00000FFF
 
#define AIM_NXT   0x007F0000
 
#define I2SCTL_EA   0x00000004
 
#define I2SCTL_EI   0x00000010
 
#define SPOCTL_OE   0x00000001
 
#define SPOCTL_OS   0x0000000E
 
#define SPOCTL_RIV   0x00000010
 
#define SPOCTL_LIV   0x00000020
 
#define SPOCTL_SR   0x000000C0
 
#define SPICTL_EN   0x00000001
 
#define SPICTL_I24   0x00000002
 
#define SPICTL_IB   0x00000004
 
#define SPICTL_SM   0x00000008
 
#define SPICTL_VM   0x00000010
 
#define GCTL_EAC   0x00000001
 
#define GCTL_EAI   0x00000002
 
#define GCTL_BEP   0x00000004
 
#define GCTL_BES   0x00000008
 
#define GCTL_DSP   0x00000010
 
#define GCTL_DBP   0x00000020
 
#define GCTL_ABP   0x00000040
 
#define GCTL_TBP   0x00000080
 
#define GCTL_SBP   0x00000100
 
#define GCTL_FBP   0x00000200
 
#define GCTL_XA   0x00000400
 
#define GCTL_ET   0x00000800
 
#define GCTL_PR   0x00001000
 
#define GCTL_MRL   0x00002000
 
#define GCTL_SDE   0x00004000
 
#define GCTL_SDI   0x00008000
 
#define GCTL_SM   0x00010000
 
#define GCTL_SR   0x00020000
 
#define GCTL_SD   0x00040000
 
#define GCTL_SE   0x00080000
 
#define GCTL_AID   0x00100000
 
#define CTLBITS(a, b, c, d)   (((a) << 24) | ((b) << 16) | ((c) << 8) | (d))
 
#define UAA_CFG_PWRSTATUS   0x44
 
#define UAA_CFG_SPACE_FLAG   0xA0
 
#define UAA_CORE_CHANGE   0x3FFC
 

Functions

int __devinit create_20k1_hw_obj (struct hw **rhw)
 
int destroy_20k1_hw_obj (struct hw *hw)
 

Macro Definition Documentation

#define AIM_ARC   0x00000FFF

Definition at line 786 of file cthw20k1.c.

#define AIM_NXT   0x007F0000

Definition at line 787 of file cthw20k1.c.

#define AMOPHI_SADR   0x000000FF

Definition at line 590 of file cthw20k1.c.

#define AMOPHI_SE   0x80000000

Definition at line 591 of file cthw20k1.c.

#define AMOPLO_M   0x00000003

Definition at line 586 of file cthw20k1.c.

#define AMOPLO_X   0x0003FFF0

Definition at line 587 of file cthw20k1.c.

#define AMOPLO_Y   0xFFFC0000

Definition at line 588 of file cthw20k1.c.

#define AR_PARAM_SRC_OFFSET   0x60

Definition at line 360 of file cthw20k1.c.

#define AR_PTS_PITCH   6

Definition at line 359 of file cthw20k1.c.

#define AR_SLOT_BLOCK_SIZE   16

Definition at line 358 of file cthw20k1.c.

#define AR_SLOT_SIZE   4096

Definition at line 357 of file cthw20k1.c.

#define CT_XFI_DMA_MASK   DMA_BIT_MASK(64) /* 64 bit PTE */

Copyright (C) 2008, Creative Technology Ltd. All Rights Reserved.

This source file is released under GPL v2 license (no other versions). See the COPYING file included in the main directory of this source distribution for the license terms and conditions.

cthw20k1.c

This file contains the implementation of hardware access methord for 20k1.

Liu Chun Jun 24 2008

Definition at line 33 of file cthw20k1.c.

#define CTLBITS (   a,
  b,
  c,
  d 
)    (((a) << 24) | ((b) << 16) | ((c) << 8) | (d))

Definition at line 1793 of file cthw20k1.c.

#define GCTL_ABP   0x00000040

Definition at line 1300 of file cthw20k1.c.

#define GCTL_AID   0x00100000

Definition at line 1314 of file cthw20k1.c.

#define GCTL_BEP   0x00000004

Definition at line 1296 of file cthw20k1.c.

#define GCTL_BES   0x00000008

Definition at line 1297 of file cthw20k1.c.

#define GCTL_DBP   0x00000020

Definition at line 1299 of file cthw20k1.c.

#define GCTL_DSP   0x00000010

Definition at line 1298 of file cthw20k1.c.

#define GCTL_EAC   0x00000001

Definition at line 1294 of file cthw20k1.c.

#define GCTL_EAI   0x00000002

Definition at line 1295 of file cthw20k1.c.

#define GCTL_ET   0x00000800

Definition at line 1305 of file cthw20k1.c.

#define GCTL_FBP   0x00000200

Definition at line 1303 of file cthw20k1.c.

#define GCTL_MRL   0x00002000

Definition at line 1307 of file cthw20k1.c.

#define GCTL_PR   0x00001000

Definition at line 1306 of file cthw20k1.c.

#define GCTL_SBP   0x00000100

Definition at line 1302 of file cthw20k1.c.

#define GCTL_SD   0x00040000

Definition at line 1312 of file cthw20k1.c.

#define GCTL_SDE   0x00004000

Definition at line 1308 of file cthw20k1.c.

#define GCTL_SDI   0x00008000

Definition at line 1309 of file cthw20k1.c.

#define GCTL_SE   0x00080000

Definition at line 1313 of file cthw20k1.c.

#define GCTL_SM   0x00010000

Definition at line 1310 of file cthw20k1.c.

#define GCTL_SR   0x00020000

Definition at line 1311 of file cthw20k1.c.

#define GCTL_TBP   0x00000080

Definition at line 1301 of file cthw20k1.c.

#define GCTL_XA   0x00000400

Definition at line 1304 of file cthw20k1.c.

#define I2SCTL_EA   0x00000004

Definition at line 795 of file cthw20k1.c.

#define I2SCTL_EI   0x00000010

Definition at line 796 of file cthw20k1.c.

#define MPRLH_PITCH   0xFFFFFFFF

Definition at line 87 of file cthw20k1.c.

#define SPICTL_EN   0x00000001

Definition at line 806 of file cthw20k1.c.

#define SPICTL_I24   0x00000002

Definition at line 807 of file cthw20k1.c.

#define SPICTL_IB   0x00000004

Definition at line 808 of file cthw20k1.c.

#define SPICTL_SM   0x00000008

Definition at line 809 of file cthw20k1.c.

#define SPICTL_VM   0x00000010

Definition at line 810 of file cthw20k1.c.

#define SPOCTL_LIV   0x00000020

Definition at line 802 of file cthw20k1.c.

#define SPOCTL_OE   0x00000001

Definition at line 799 of file cthw20k1.c.

#define SPOCTL_OS   0x0000000E

Definition at line 800 of file cthw20k1.c.

#define SPOCTL_RIV   0x00000010

Definition at line 801 of file cthw20k1.c.

#define SPOCTL_SR   0x000000C0

Definition at line 803 of file cthw20k1.c.

#define SRCAIM_ARC   0x00000FFF

Definition at line 138 of file cthw20k1.c.

#define SRCAIM_NXT   0x00FF0000

Definition at line 139 of file cthw20k1.c.

#define SRCAIM_SRC   0xFF000000

Definition at line 140 of file cthw20k1.c.

#define SRCCA_CA   0x03FFFFFF

Definition at line 77 of file cthw20k1.c.

#define SRCCA_NAL   0xE0000000

Definition at line 79 of file cthw20k1.c.

#define SRCCA_RS   0x1C000000

Definition at line 78 of file cthw20k1.c.

#define SRCCCR_CISZ   0x000007FF

Definition at line 70 of file cthw20k1.c.

#define SRCCCR_CWA   0x001FF800

Definition at line 71 of file cthw20k1.c.

#define SRCCCR_D   0x00200000

Definition at line 72 of file cthw20k1.c.

#define SRCCCR_NAL   0x3E000000

Definition at line 74 of file cthw20k1.c.

#define SRCCCR_RA   0xC0000000

Definition at line 75 of file cthw20k1.c.

#define SRCCCR_RS   0x01C00000

Definition at line 73 of file cthw20k1.c.

#define SRCCTL_BM   0x00000008

Definition at line 58 of file cthw20k1.c.

#define SRCCTL_BP   0x00100000

Definition at line 68 of file cthw20k1.c.

#define SRCCTL_IE   0x00008000

Definition at line 66 of file cthw20k1.c.

#define SRCCTL_ILSZ   0x000F0000

Definition at line 67 of file cthw20k1.c.

#define SRCCTL_PM   0x00000400

Definition at line 62 of file cthw20k1.c.

#define SRCCTL_ROM   0x00001800

Definition at line 63 of file cthw20k1.c.

#define SRCCTL_RSR   0x00000030

Definition at line 59 of file cthw20k1.c.

#define SRCCTL_SF   0x000001C0

Definition at line 60 of file cthw20k1.c.

#define SRCCTL_ST   0x00004000

Definition at line 65 of file cthw20k1.c.

#define SRCCTL_STATE   0x00000007

Definition at line 57 of file cthw20k1.c.

#define SRCCTL_VO   0x00002000

Definition at line 64 of file cthw20k1.c.

#define SRCCTL_WR   0x00000200

Definition at line 61 of file cthw20k1.c.

#define SRCLA_LA   0x03FFFFFF

Definition at line 83 of file cthw20k1.c.

#define SRCSA_SA   0x03FFFFFF

Definition at line 81 of file cthw20k1.c.

#define SRTCTL_DRAT   0x000C0000

Definition at line 749 of file cthw20k1.c.

#define SRTCTL_EC   0x40000000

Definition at line 752 of file cthw20k1.c.

#define SRTCTL_ET   0x80000000

Definition at line 753 of file cthw20k1.c.

#define SRTCTL_RLE   0x10000000

Definition at line 750 of file cthw20k1.c.

#define SRTCTL_RLP   0x20000000

Definition at line 751 of file cthw20k1.c.

#define SRTCTL_RSR   0x00030000

Definition at line 748 of file cthw20k1.c.

#define SRTCTL_SRCL   0x0000FF00

Definition at line 747 of file cthw20k1.c.

#define SRTCTL_SRCR   0x000000FF

Definition at line 746 of file cthw20k1.c.

#define UAA_CFG_PWRSTATUS   0x44

Definition at line 1795 of file cthw20k1.c.

#define UAA_CFG_SPACE_FLAG   0xA0

Definition at line 1796 of file cthw20k1.c.

#define UAA_CORE_CHANGE   0x3FFC

Definition at line 1797 of file cthw20k1.c.

Function Documentation

int __devinit create_20k1_hw_obj ( struct hw **  rhw)

Copyright (C) 2008, Creative Technology Ltd. All Rights Reserved.

This source file is released under GPL v2 license (no other versions). See the COPYING file included in the main directory of this source distribution for the license terms and conditions.

cthw20k1.h

This file contains the definition of hardware access methord.

Liu Chun May 13 2008

Definition at line 2278 of file cthw20k1.c.

int destroy_20k1_hw_obj ( struct hw hw)

Definition at line 2297 of file cthw20k1.c.