linux/drivers/spi/spi-topcliff-pch.c
<<
>>
Prefs
   1/*
   2 * SPI bus driver for the Topcliff PCH used by Intel SoCs
   3 *
   4 * Copyright (C) 2011 LAPIS Semiconductor Co., Ltd.
   5 *
   6 * This program is free software; you can redistribute it and/or modify
   7 * it under the terms of the GNU General Public License as published by
   8 * the Free Software Foundation; version 2 of the License.
   9 *
  10 * This program is distributed in the hope that it will be useful,
  11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13 * GNU General Public License for more details.
  14 *
  15 * You should have received a copy of the GNU General Public License
  16 * along with this program; if not, write to the Free Software
  17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
  18 */
  19
  20#include <linux/delay.h>
  21#include <linux/pci.h>
  22#include <linux/wait.h>
  23#include <linux/spi/spi.h>
  24#include <linux/interrupt.h>
  25#include <linux/sched.h>
  26#include <linux/spi/spidev.h>
  27#include <linux/module.h>
  28#include <linux/device.h>
  29#include <linux/platform_device.h>
  30
  31#include <linux/dmaengine.h>
  32#include <linux/pch_dma.h>
  33
  34/* Register offsets */
  35#define PCH_SPCR                0x00    /* SPI control register */
  36#define PCH_SPBRR               0x04    /* SPI baud rate register */
  37#define PCH_SPSR                0x08    /* SPI status register */
  38#define PCH_SPDWR               0x0C    /* SPI write data register */
  39#define PCH_SPDRR               0x10    /* SPI read data register */
  40#define PCH_SSNXCR              0x18    /* SSN Expand Control Register */
  41#define PCH_SRST                0x1C    /* SPI reset register */
  42#define PCH_ADDRESS_SIZE        0x20
  43
  44#define PCH_SPSR_TFD            0x000007C0
  45#define PCH_SPSR_RFD            0x0000F800
  46
  47#define PCH_READABLE(x)         (((x) & PCH_SPSR_RFD)>>11)
  48#define PCH_WRITABLE(x)         (((x) & PCH_SPSR_TFD)>>6)
  49
  50#define PCH_RX_THOLD            7
  51#define PCH_RX_THOLD_MAX        15
  52
  53#define PCH_TX_THOLD            2
  54
  55#define PCH_MAX_BAUDRATE        5000000
  56#define PCH_MAX_FIFO_DEPTH      16
  57
  58#define STATUS_RUNNING          1
  59#define STATUS_EXITING          2
  60#define PCH_SLEEP_TIME          10
  61
  62#define SSN_LOW                 0x02U
  63#define SSN_HIGH                0x03U
  64#define SSN_NO_CONTROL          0x00U
  65#define PCH_MAX_CS              0xFF
  66#define PCI_DEVICE_ID_GE_SPI    0x8816
  67
  68#define SPCR_SPE_BIT            (1 << 0)
  69#define SPCR_MSTR_BIT           (1 << 1)
  70#define SPCR_LSBF_BIT           (1 << 4)
  71#define SPCR_CPHA_BIT           (1 << 5)
  72#define SPCR_CPOL_BIT           (1 << 6)
  73#define SPCR_TFIE_BIT           (1 << 8)
  74#define SPCR_RFIE_BIT           (1 << 9)
  75#define SPCR_FIE_BIT            (1 << 10)
  76#define SPCR_ORIE_BIT           (1 << 11)
  77#define SPCR_MDFIE_BIT          (1 << 12)
  78#define SPCR_FICLR_BIT          (1 << 24)
  79#define SPSR_TFI_BIT            (1 << 0)
  80#define SPSR_RFI_BIT            (1 << 1)
  81#define SPSR_FI_BIT             (1 << 2)
  82#define SPSR_ORF_BIT            (1 << 3)
  83#define SPBRR_SIZE_BIT          (1 << 10)
  84
  85#define PCH_ALL                 (SPCR_TFIE_BIT|SPCR_RFIE_BIT|SPCR_FIE_BIT|\
  86                                SPCR_ORIE_BIT|SPCR_MDFIE_BIT)
  87
  88#define SPCR_RFIC_FIELD         20
  89#define SPCR_TFIC_FIELD         16
  90
  91#define MASK_SPBRR_SPBR_BITS    ((1 << 10) - 1)
  92#define MASK_RFIC_SPCR_BITS     (0xf << SPCR_RFIC_FIELD)
  93#define MASK_TFIC_SPCR_BITS     (0xf << SPCR_TFIC_FIELD)
  94
  95#define PCH_CLOCK_HZ            50000000
  96#define PCH_MAX_SPBR            1023
  97
  98/* Definition for ML7213/ML7223/ML7831 by LAPIS Semiconductor */
  99#define PCI_VENDOR_ID_ROHM              0x10DB
 100#define PCI_DEVICE_ID_ML7213_SPI        0x802c
 101#define PCI_DEVICE_ID_ML7223_SPI        0x800F
 102#define PCI_DEVICE_ID_ML7831_SPI        0x8816
 103
 104/*
 105 * Set the number of SPI instance max
 106 * Intel EG20T PCH :            1ch
 107 * LAPIS Semiconductor ML7213 IOH :     2ch
 108 * LAPIS Semiconductor ML7223 IOH :     1ch
 109 * LAPIS Semiconductor ML7831 IOH :     1ch
 110*/
 111#define PCH_SPI_MAX_DEV                 2
 112
 113#define PCH_BUF_SIZE            4096
 114#define PCH_DMA_TRANS_SIZE      12
 115
 116static int use_dma = 1;
 117
 118struct pch_spi_dma_ctrl {
 119        struct dma_async_tx_descriptor  *desc_tx;
 120        struct dma_async_tx_descriptor  *desc_rx;
 121        struct pch_dma_slave            param_tx;
 122        struct pch_dma_slave            param_rx;
 123        struct dma_chan         *chan_tx;
 124        struct dma_chan         *chan_rx;
 125        struct scatterlist              *sg_tx_p;
 126        struct scatterlist              *sg_rx_p;
 127        struct scatterlist              sg_tx;
 128        struct scatterlist              sg_rx;
 129        int                             nent;
 130        void                            *tx_buf_virt;
 131        void                            *rx_buf_virt;
 132        dma_addr_t                      tx_buf_dma;
 133        dma_addr_t                      rx_buf_dma;
 134};
 135/**
 136 * struct pch_spi_data - Holds the SPI channel specific details
 137 * @io_remap_addr:              The remapped PCI base address
 138 * @master:                     Pointer to the SPI master structure
 139 * @work:                       Reference to work queue handler
 140 * @wk:                         Workqueue for carrying out execution of the
 141 *                              requests
 142 * @wait:                       Wait queue for waking up upon receiving an
 143 *                              interrupt.
 144 * @transfer_complete:          Status of SPI Transfer
 145 * @bcurrent_msg_processing:    Status flag for message processing
 146 * @lock:                       Lock for protecting this structure
 147 * @queue:                      SPI Message queue
 148 * @status:                     Status of the SPI driver
 149 * @bpw_len:                    Length of data to be transferred in bits per
 150 *                              word
 151 * @transfer_active:            Flag showing active transfer
 152 * @tx_index:                   Transmit data count; for bookkeeping during
 153 *                              transfer
 154 * @rx_index:                   Receive data count; for bookkeeping during
 155 *                              transfer
 156 * @tx_buff:                    Buffer for data to be transmitted
 157 * @rx_index:                   Buffer for Received data
 158 * @n_curnt_chip:               The chip number that this SPI driver currently
 159 *                              operates on
 160 * @current_chip:               Reference to the current chip that this SPI
 161 *                              driver currently operates on
 162 * @current_msg:                The current message that this SPI driver is
 163 *                              handling
 164 * @cur_trans:                  The current transfer that this SPI driver is
 165 *                              handling
 166 * @board_dat:                  Reference to the SPI device data structure
 167 * @plat_dev:                   platform_device structure
 168 * @ch:                         SPI channel number
 169 * @irq_reg_sts:                Status of IRQ registration
 170 */
 171struct pch_spi_data {
 172        void __iomem *io_remap_addr;
 173        unsigned long io_base_addr;
 174        struct spi_master *master;
 175        struct work_struct work;
 176        struct workqueue_struct *wk;
 177        wait_queue_head_t wait;
 178        u8 transfer_complete;
 179        u8 bcurrent_msg_processing;
 180        spinlock_t lock;
 181        struct list_head queue;
 182        u8 status;
 183        u32 bpw_len;
 184        u8 transfer_active;
 185        u32 tx_index;
 186        u32 rx_index;
 187        u16 *pkt_tx_buff;
 188        u16 *pkt_rx_buff;
 189        u8 n_curnt_chip;
 190        struct spi_device *current_chip;
 191        struct spi_message *current_msg;
 192        struct spi_transfer *cur_trans;
 193        struct pch_spi_board_data *board_dat;
 194        struct platform_device  *plat_dev;
 195        int ch;
 196        struct pch_spi_dma_ctrl dma;
 197        int use_dma;
 198        u8 irq_reg_sts;
 199        int save_total_len;
 200};
 201
 202/**
 203 * struct pch_spi_board_data - Holds the SPI device specific details
 204 * @pdev:               Pointer to the PCI device
 205 * @suspend_sts:        Status of suspend
 206 * @num:                The number of SPI device instance
 207 */
 208struct pch_spi_board_data {
 209        struct pci_dev *pdev;
 210        u8 suspend_sts;
 211        int num;
 212};
 213
 214struct pch_pd_dev_save {
 215        int num;
 216        struct platform_device *pd_save[PCH_SPI_MAX_DEV];
 217        struct pch_spi_board_data *board_dat;
 218};
 219
 220static DEFINE_PCI_DEVICE_TABLE(pch_spi_pcidev_id) = {
 221        { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_GE_SPI),    1, },
 222        { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7213_SPI), 2, },
 223        { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7223_SPI), 1, },
 224        { PCI_VDEVICE(ROHM, PCI_DEVICE_ID_ML7831_SPI), 1, },
 225        { }
 226};
 227
 228/**
 229 * pch_spi_writereg() - Performs  register writes
 230 * @master:     Pointer to struct spi_master.
 231 * @idx:        Register offset.
 232 * @val:        Value to be written to register.
 233 */
 234static inline void pch_spi_writereg(struct spi_master *master, int idx, u32 val)
 235{
 236        struct pch_spi_data *data = spi_master_get_devdata(master);
 237        iowrite32(val, (data->io_remap_addr + idx));
 238}
 239
 240/**
 241 * pch_spi_readreg() - Performs register reads
 242 * @master:     Pointer to struct spi_master.
 243 * @idx:        Register offset.
 244 */
 245static inline u32 pch_spi_readreg(struct spi_master *master, int idx)
 246{
 247        struct pch_spi_data *data = spi_master_get_devdata(master);
 248        return ioread32(data->io_remap_addr + idx);
 249}
 250
 251static inline void pch_spi_setclr_reg(struct spi_master *master, int idx,
 252                                      u32 set, u32 clr)
 253{
 254        u32 tmp = pch_spi_readreg(master, idx);
 255        tmp = (tmp & ~clr) | set;
 256        pch_spi_writereg(master, idx, tmp);
 257}
 258
 259static void pch_spi_set_master_mode(struct spi_master *master)
 260{
 261        pch_spi_setclr_reg(master, SPCR-TRIE_Bpi/spp0a>);
}

/**
 ">pch_spclear_fifoeg() Clearlds th  Transmiand   ReceivFIFOads
 * @master:     Pointer to struct spi_master.
 */
static void pch_spclear_fifode(struct spi_master *master)
{
        pch_spi_setclr_reg(master, SPCFICLRIE_Bpi/spp0a>);
        pch_spi_setclr_reg(master, SPCFICLRIE_Bpi/sa>);
}

static void pch_spe handl_subde(struct pch_spi_data *data, u32                                 void __iomem *io_remap_addr)
{
        u32 tx_index, rx_index, bpw_len;
        u16 *pkt_tx_buff;
        int         u32         void __iomem *ster;
        void __iomem *drrer;
        void __iomem *dwrer;
;
        ster = io_remap_addr + ;
        iowrite32(ster);

      if>, (data->transfer_active      a>        rx_index = data->rx_index;
      a>        tx_index = data->tx_index;
      a>        bpw_len = data->bpw_len;
      a>        data->pkt_rx_buff;
      a>        pkt_tx_buff = data->pkt_tx_buff;
;
               *drrer = io_remap_addr + ;
               *dwrer = io_remap_addr + ;

               *
      a>      r foa>(      a>      a>        rx_index = ioread32(drrer);
                      if>, (tx_indexbpw_len)
      a>      a>      a>        iowrite32(pkt_tx_buff[tx_indexdwrer);
      a>      a>}
}
               > disable RFI if>not needed"> */
              if>,a>(bpw_lenrx_index =               a>        ioread32(io_remap_addr + );
      a>      a>        SPCRFIEIE_BIT" class="sref">SPCRFIEIE_Bff disable RFI > */

      a>      a>       > reset rx ta hshold"> */
                              a>      a>        SPCRFICAFIELDIT" class="sref">SPCRFICAFIELDpi/sa>);
;
                        iowrite32(io_remap_addr + );
              a>}

               > updateta cous"> */
      a>        data->tx_index = tx_index;
      a>        data->rx_index = rx_index;

      a>       > if>t transfer_comple Pointrupt"> */
      a>      if>, (SPCFIIE_BIT" class="sref">SPCFIIE_Bve      a>      a>      if>,, (tx_index = bpw_len &am> &, (rx_index> = tx_index                               > disable Pointrupts"> */
              a>      a>        pch_spi_setclr_reg(data->master, 
                                                 , 
      a>      a>               > t transfeiser_compled;*/
pch_spg_procepi_messas"> */
      a>      a>              , data->transfer_complete =                                (data->transfer_active =       a>      a>      a>        data->wait);
      a>      a>      } elsi = {
                               (data->master->              a>      a>               >"%s :h  Transfeisenot r_compled"*/
                                      t;              a>      a>}
      a>      a>}
      a>}
}
}
/**
 ">pch_spe handleg() Iointrupt"e handl**
 *irqdx:        ThPointrupt"e number.
 *cidev_er:     Pointer to struc">pch_spi_board_daer.
 */
stati (pch_spe handl**{
        u32         void __iomem *ster;
        void __iomem *io_remap_addr;
                struct pch_spi_data *data =         struct pch_spi_board_data *board_dat = data->board_dat;
;
       f>, (board_dat->suspend_sts               *board_dat->pdev->      a>      a>       >"%s   retussi dalue t">suspe\n"*/      a>        return       a>}
}
        io_remap_addr = data->io_remap_addr;
        ster = io_remap_addr + ;
}
        ioread32(ster);

      if>, (SPCORFIE_BIT" class="sref">SPCORFIE_Bts      a>        board_dat->pdev->      a>      if>, (data->      a>      a>        data->transfer_complete =                         data->stusts" class="sref">stuste -t;      a>      a>        data->data->      a>      a>      = data-> =                        (data->              a>       (data->traeg" class="srefcur_">trata =               a>}
      a>}

      if>, (data->      a>        return }
       > Check if>t ThPointrupt"is r foSPI >pdice"> */
      if>, (SPCFIIE_BIT" class="sref">SPCFIIE_Bve) | SPCRFIIE_BIT" class="sref">SPCRFIIE_Bve               *pch_spe handl_subdedata, io_remap_addr;
               *      a>}

       *board_dat->pdev->      a>        
        return }
;
/**
 ">pch_spi_s_baud_rateeg() SetsoSPBR fieldhPooSPBRR**
 * @master:     Pointer to struct spi_master.
 *speed_hzer: Baud rateer.
 */
static void pch_spi_sebaud_rateeg(struct spi_master *mastert;u32 eed_hzid
      t;u32 eed_hzid 2aa>;

       > if>baud rate"is leslds spawe cspasupport linsmiit"> */
      if>, (
                ;

        pch_spi_setclr_reg(master, }

/**
 ">pch_spi_s_bits_per_wordeg() SetsoSIZE fieldhPooSPBRR**
 * @master:             Pointer to struct spi_master.
 @bits_per_worder:    Bits per word r foSPI ">transfer.
 */
static void pch_spi_sebits_per_wordeg(struct spi_master *master
                                    t;        f>, (      a>        pch_spi_setclr_reg(master, BRsCrIZEIE_Bff;
      elsi>;
      a>        pch_spi_setclr_reg(master, BRsCrIZEIE_Bff);
}
;
/**
 ">pch_spi_sup_">transfeg() Configurelds thd=toSPI hardware r fo">transf**
 *i/ser:        Pointer to struct sp>pdiceer.
 */
static void transfeg" class="sref">pch_spi_sup_">transfeg(struct sp>pdiceer *ser" class="sref">seg
      t;u32 }
        ser" class="sref">seg->BRs c_ntent =%x i_stssi baud rate=%e\n"*/
      a>        pch_spiorer_reg" class="sref">pch_spiorer_reg(ser" class="sref">seg->master, 
              >(ser" class="sref">seg->        pch_spi_sebaud_rateeg(ser" class="sref">seg->master, ser" class="sref">seg->
       > set bits per word > */
       *pch_spi_sebits_per_wordeg(ser" class="sref">seg->master, ser" class="sref">seg->
       f>,!a>(ser" class="sref">seg-> & *I_LSB_FIRSBIT" class="sref">I_LSB_FIRSBeg
      a>        SPCLSBFIE_BIT" class="sref">SPCLSBFIE_Bid;
       f>,>(ser" class="sref">seg-> & *I_CPOTEL" class="sref">I_CPOTeg
      a>        SPCCPOTIE_BIT" class="sref">SPCCPOTIE_Bid;
      if>, (ser" class="sref">seg-> & *I_CPHAEL" class="sref">I_CPHAeg
                SPCCPHAIE_BIT" class="sref">SPCCPHAIE_Bid;
       *pch_spi_setclr_reg(ser" class="sref">seg->master,               a>         , (SPCLSBFIE_BIT" class="sref">SPCLSBFIE_Bid) | SPCCPOTIE_BIT" class="sref">SPCCPOTIE_Bid) | SPCCPHAIE_BIT" class="sref">SPCCPHAIE_Bid);

       > Cleards thFIFO by togglssi hFICLRer t1 and backer t0 > */
      t;pch_spclear_fifoeg" class="sref">pch_spclear_fifoeg(ser" class="sref">seg->master);
}

/**
 ">pch_spioi_seg() ClearsoSPI r_rimasts**
 * @master:     Pointer to struct spi_master.
 */
static void pch_spioseeff(struct spi_master *master
{
       > iowrit1 r treset SPI > */
      t;pch_spiowrir_reg" class="sref">pch_spiowrir_reg(master, }
       > cleartreset > */
        pch_spiowrir_reg" class="sref">pch_spiowrir_reg(master, }
;
stati, int pch_spi_supeg" class="sref">pch_spi_supeg(struct sp>pdiceer *ser" class="srefp">seg
       > check bits per word > */
      if>, (ser" class="srefp">seg->      a>       (ser" class="srefp">seg->                ser" class="srefp">seg->      a>}
;
      if>,, (ser" class="srefp">seg->ser" class="srefp">seg->                ser" class="srefp">seg->                retur-t;      a>}

       > Check baud rate"i_stssi > */
       > if>baud rate"of chip"is greainterhan*/
 */
       f>,, (ser" class="srefp">seg->      a>        ser" class="srefp">seg->}
ser" class="srefp">seg->master,  */
       f>,>(         , (      if>, (     4a>}
     ss="sref>4dev

&q4ot;+codEINVATEL" class="srefEINVATid
; static void 4 re!> 8aa> &am> &, (ser" cla>; } s>; pch_spclear_fifoeg" class="sref">pch_spclear_fifoeg(6"39166 4>pch_49c3L256" id=3L2166" class="line" ef=ef="+code=pch_spe hat0" class="line" name=3L250"35180 ser" class="sref">seg-> } 5cliff-pch5c3L189" id=3L199" class=5line"50c4L259" id=4L179" class="line" name=4Lg> pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 5;532ser" clasunlikelyef">seg->unlikelyi-topcliff-pch.c4L24list_emptyef">seg->list_emptyef="drivers/spi/spi-topclid=3L175" class="lip=3L175"i/spi-topcliff-pch.c3L171" iref">seg->3L171" ir=4L2)i== 1 8aa> &am> &, (ser" cl5n> ser" class="srefp">seg-> -t;data); seg->unlikelyi-topcliff-pch.c4L24BAUDRATEeg 8aa> &am> &, (ser" cl5n8bter" c5a9167suspend!> 16)) = { seg->seg->pdev

"%5>;
data); ">pc5_spi_514L252" id=4L252" class="line" name=4L252"4 252<53"41243 5 @mas51 > e" name=4L185"48205} -><" id=4L252" class="line" name=4L252"4 252<535; @b5ts_pe51href="+code=PCH_BRPC-pers/4BRPC-pch.c#L242" id=tTL171" i Slinef="dset."+codp">ser" class="srefp">seg->spi_5aster51cod">SPCCPHAIE_BIT" class="se" n_lock_irqsav3ass="line" name=4Ln_lock_irqsav3ef="drivers/spi/spi-topclame=3L179"37239 seg->locks="s"ss="srefe=PCI_MAs="sref">seg->pdev

"%5c8bter" c5" class="sref"832
> pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 5n> seg->list_for_eapi/ naryi-topcliff-pch.c4L24span> seg->3L171" ir=4L2"ss="srefe=PCI_MAme=3L171"listef">seg->3L171" i"list=4L2)i!> 8aa> &am> &, (ser" cl54L219"41159 f>, ( cliff-pch.c4L24span> 8aa> &am> &, (ser" cl54>} 8aa> &am> &, (ser" cl54liff-pch5pi/spi-topcliff-pch.c4L251" id54L221" class="line" na"+code=PCH_BRPC-pers/4BRPC-pch.c#L242" id=tersBRspTx-topcRx buf" i ser" class="srefp">seg-> -t;data); seg->riv_ef="dr/spinlocki/spi-topcliff-pch.c4L167" id=4L177" class="lin5)5; ">pch_spi_sup_">trans5eg() 52a href="+cod__func__e240" cliff-pch.c4L24span> seg->lens_pe)i!> 8aa> &am> &, (ser" cl548bter" c542167 16)) = { ieg">seg->->->pdiceer" class="sref5>sp>p53ts_per_wordeg" class=odEIOts" class="srefEIOef=ef="+code=pch_spe hat0" clasa" class="sref">data); seg->riv_ef="dr/spinlocki/spi-topcliff-pch.c4L167" id=4L177" class="lin5 t;"%s ">BRs5c_nte5t =%x i_stssi baud rate=%e\n&e" name=4L185"48205} .pTL171" i lengthseg-><" id=4L252" class="line" name=4L252"4 252<5+code=mas5er" class="sref">master<5a>, <5 href="+code=PCH_BRPC-ssi baud ers/4BRPC-pch.c#L242" id=t g">seg->->seg-><5 href534L165" id=4L165" class="line" name=4L165"46205<5d">ser" c5ass="sref">seg-><5 href53a href="+cod__func__e"> Check baud rate"i_stssi > */has been specifiedLg> pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 5a>; u32 f>,, (ser" class="srefp">seg-> 5 53v->seg
u32 a> ser" class="srefp">seg->ser" cla5s="sref">seg-> 8> pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 5r" class=5sref"+coff & *I_LSB_FIRSBIT" cl256" class="line" nspan> seg->ser" cl5gaeg" cla5s="srefflagaff -t; seg->ser" cl5gn classs5er" class="sref"+coffI_CPOTTTTTTTTTTTTT47175 if>,, ( seg->ser" cl5gaeg" cla5s="srefflagaff segdata); I_CPHAssi baudod=pdev" ="srefp">seg 16)) = { 8aa> &am> &, (ser" cl5gaeg" cla5s="srefflagaff *masC-pers/4BRPC-pch.c#L242" id=tersBRspreg &am (ser" class="srefp">seg->seg->riv_ef="dr/spinlocki/spi-topcliff-pch.c4L167" id=4L177" class="lin5ss="sref"5SPCCPOTIE_Bid) | Clear5s thF5FO by togglssi+codEINVATEL" class="srefEINVATid; " class=5cod">ser" class="sref">s5g554L201" id=4L201" class="line=4Ln_unlock_irqrestor3ass="line" name=4Ln_unlock_irqrestor3ef="drivers/spi/spi-topclame=3L179"37239 seg->locks="s"ss="srefe=PCI_MAs="sref">seg->pdev

"%5);
} have been askedLtocterminpan>pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 5cliff-pch5c4L244" id=4L254" class=5line"55cod">SPCCPOTIE_BIT" class="sref"ame=3L179"37239 seg->6" iurame=4L4Lvers/spi/spi-toSTATUS__datINGef">seg->STATUS__datINGe=masi!> 8aa> &am> &, (ser" cl5e" name=45255"45205 ser" class="srefp">seg->segdataSHUTDOWN; spi_5aster559 by togglssi+codEINVATEL" class="srefEINVATid; 5 > Check baud rate"i_stssIf suspendedLref="dri-ers/sp>pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 5de=master5 class="sref">master5 SPCCPOTIE_BIT" class="sref"ame=3L179"37239 seg->seg->6uspend_stre=masi!> 8aa> &am> &, (ser" cl5>); 16)) = { ser" class="srefp">seg-> 56 =%x i_stssi baud rate=%e\n&ef=ef="+code=pch_spe hat0" clasa" class="sref">data); master5 pdiceer" class="sref">5p>pdi56c4L705" id=4L237" class="line" name=4L237"6" iuraof 5pch.c3-pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 5dode=spi_5="drivers/spi/spi-topcli5f-pch564L218" id=4L2cliff-pch.c4L24id=3L175" class="lip=3L175"i/spi-topcliff-pch.cactual_lengthL175" class="liactual_lengthclasa" 4L231" class="line" name=4L231"43191 5ass="line5 name=4L169"46189 5 ><5pan class="com rate=%e\n&e" name=4L185"48205} seg->seg->seg->6" iurame=ref>pdev

"%5lass="sre5p">seg->seg->seg->6" iurame=a" class="sref">data seg->locks="s"ss="srefe=PCI_MAs="sref">seg->pdev

"%5ef="drive5s/spi/spi-topcliff-pch.c5L163"57c4L203" id=4L203" class="line" name=4Ladd 5pch.c3-tocqueu3-pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 5a>}
pdev

"%5e;
seg-> seg->locks="s"ss="srefe=PCI_MAs="sref">seg->pdev

"%5 Invalvoi5its per word\n"*/ 5 re5ur-t;
} ser" class="srefp">seg-> 5a>} un-pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 5"line" na5e=4L180"48180 5 iowrit1 rqueu3"+cokef">seg->queu3"+cokef="ds/spi/spi-topclame=3L179"37239 seg->wks="s"srivers/spi/spi-topclame=3L179"37239 seg->+cokef="ref>pdev

"%5e=4L181"45191 >} ser" class="srefp">seg->-&g = ef=ef="+code=pch_spe hat0" clasa" 4L231" class="line" name=4L231"43191 5"srefe=x_5peed_hzff SPCCPHAIE_BIT" class="se" name=4L185"48205} seg->seg->pdev

"%5a name=4L5s/spi/spi-topcliff-pch.c5L167"58r-t;
pdev

"%5af="drive5f="drivers/spi/spi-topcl5ff-pc5.c3L18" class="line" riv_ef="dr/spinlockef">seg
->riv_ef="dr/spinlocki/sp:BAUDRATEIT" class="srefe=PCI_MABAUDRATEeg<5ss="sref>5dev

&q59an class="com rate=%e\n&e" name=4L185"48205} seg->seg->pdev

"%5a href="+5od__func__ev" class="sre5__fun59n class="comment"> iowrit1 r=4Ln_unlock_irqrestor3ass="line" name=4Ln_unlock_irqrestor3ef="drivers/spi/spi-topclame=3L179"37239
seg->locks="s"ss="srefe=PCI_MAs="sref">seg->pdev

"%5a>;
pdev

"%592" class5"line" name=3L192"3 192<5a> 5 re+codEINVATEL" class="srefEINVATid
; ; } 8aa> &am> &, (ser" cl5s>; I_CPHAssi baudod=pdev""""""""topcliff-pch.c4L167" id=4L167" class="line" name=4L167"46227stati, int pch_spi_supeg" class="sref">pch_spi_supeg(struct 5>pch_59c3L25!> 8aa> &am> &, (ser" cl5ame=3L197539167 8aa> &am> &, (ser" cl5a>} -> check bits per word > */ 8aa> &am> &, (ser" cl6cliff-pch6c3L189" id=3L199" class=6line"60ts_per_wordeg" class=odEIOts" class="srefEIOe" name=4L185"48205} ser" class="srefp">seg->632 pdev

"%6;2a href=6+="drivers/spi/spi-topcl6f-pch60its_per_wordeg" class+codEINVATEL" class="srefEINVATid
; pdev

"%6;6;
SPCCPHAIE_BIT" class="seme=3L179"37239 pdev

"%6;8bter" c6a9167
6refnch_bt6f} ser" class="srefp">seg->pch_spi_supeg" cef>pdev

"%6>
">pc6_spi_614L252L257"45167pch_spi_supeg(struct 6 @mas61 >!> 8aa> &am> &, (ser" cl635; @b6ts_pe61href="+code=P2166" class="line" sizclass="line" nameizc-t;pdev

"%6cliff-pch6c4L205" id=4L215" class=6line"61c4L175" id=4L185" class="linu="+codu=u32e" namu3L221" vers/spi/spi-ton_s/spiref">seg
->n_s/spir-t;pdev

"%6c_bter" c6aster" class="sref">spi_6aster61c3L256" id=3L2166" class="line" jef">seg->j-t;pdev

"%6c8bter" c6" class="sref"832 pdev

"%6cefnch_bt6="drivers/spi/spi-topcli6f-pch6c4L218" id=4L2considev_id" class="su8+codu=u32e" namu8pdev

"%64L219"41169
f>, (pdev

"%64
, if neededLpi/spi-topcliff-pch.c4L162" id=4L182" class="line" 6c#L242" i6=tersBRspi/sppcliff-pch.6#L26162""""""""maxawe csvers/spi/spi-to me=3L179"37239 u32 8aa> &am> &, (ser" cl6); } pch_spclearlass="line" name=4L186"48refe=x_epeed_hzffser" class="srefp">seg-> pch_spclearass="srefp">seg u32 pdev

"%6)liff-pch6c4L215" id=4L225" class=6line"626 by togglssi+codEINVATEL" class="srefEINVATid
; ">pch_spi_sup_">trans6eg() 62+code=x_epeed_hzer" class="srefe=x_epeed_hzff-> seg-> f="+cod">pch_spiL186" class="line" name=4L1r" class="sref">seg-> seg->ser" cl6n> } pch_spclearlass="line" name=4L186"48refe=x_epeed_hzffser" class="srefp">seg->seg->comment"ses_ " class="sreef="ds/spi/spi-topclame=3L179"37239 pch_spclearaf>pdev

"%6 #L242" i6f="drivers/spi/spi-topcl6ff-pc63te
-t; seg->BRs6c_nte6t =%x i_stssi baudpcliff-pch.c3L24bpwd=3L254" class=bpweg" a4Lvers/spi/spi-to me=3L179"37239 seg->master<6a>, <6 href="+code=P} elsea!> 8aa> &am> &, (ser" cl6nliff-pch6ass="sref">seg-><6 href63I_CPHApcliff-pch.c3L24bpwd=3L254" class=bpweg" a4Lvers/spi/spi-to me=3L179"37239 f="+cod">pch_spiL186" class="line" name=4L1r" class="sref">seg->seg-><6 href63a href="+cod_+codEINVATEL" class="srefEINVATid; ; 6class="li6e" name=4L238"43198 6 63v->ser" cla6s="sref">seg-> 6a>; iowrit1 reme=3L179"37239 6at; & * seg->bpw_leneg" a4Lvers/spi/spi-to me=3L179"37239 seg->lens_pe / (pcliff-pch.c3L24bpwd=3L254" class=bpweg" a/ 8pdev

"%6gn classs6er" class="sref"+coffliff-pch6er" class="sref"+coff seg->lens_pe * eizcof(pcliff-pch.c3L24 me=3L179"37239 pdev

"%6gaeg" cla6s="srefflagaff memory for pks_tx_buff=47175 pks_rx_buffa hpi/spi-topcliff-pch.c4L162" id=4L182" class="line" 6>lass="li6SPCCPOTIE_Bid) |
segpdev

"%6>);
8aa> &am> &, (ser" cl6>>; Clear6s thF65="+codc_complete" clacliff-pch.c4L24eme=3L179"37239 segpdev

"%6>t;
ser" class="sref">s6g65od">I_LSB_FIRSBIT" cl256" cliff-pch.c4L24eme=3L179"37239 pch_spi_supeg(struct pdev

"%6a>}
8aa> &am> &, (ser" cl6>aeg" cla645166 16)) = { pch_spclearlass="line" name=4L186"48refe=x_epeed_hzffser" class="srefp">seg->spi_6aster65v->seg->list_for_eapi/ naryi-topcliff-pch.c4L24rd=3L175" class="lip=3L175"ass="srefp">seg seg 8aa> &am> &, (ser" cl6n> seg->6" iurame=a" class="sref">dataNOMEMef">seg->aNOMEMe=maef>pdev

"%6ss="line"6name=4L260"46180 6 >, master6 check bits ped=3L175" class="lip=3L175"i/spi-topcliff-pch.cinepleanpch.c4L166" id=inepleane=maa!4L0class="sref">pch_spi_supeg(struct ); check bits ped=3L175" class="lip=3L175"i/spi-topcliff-pch.cinntextpch.c4L166" id=inntexts="sref>pdev

"%6L163" cla6s="line" name=4L163"46186
663L173" id=3L193" class="line" name=3L193"3 193<6de=master6 class="sref">master6 I_CPHAssi baudvers/spi/spi-tolist_del_initpch.c4L166" id=list_del_initers/spi/spi-topcliff-pch.id=3L175" class="lip=3L175"i/spi-topcliff-pch.cqueu3L175" class="liqueu3s="sref>pdev

"%6Laeg" cla6f="drivers/spi/spi-topcl6ff-pc66a href="+cod__func__e+codEINVATEL" class="srefEINVATid
; 6p>pdi66/spp pdev

"%6Lode=spi_6="drivers/spi/spi-topcli6f-pch669 by togglssi+codEINVATEL" class="srefEINVATid
; 6 ><67odbits_per_wordeg" class="srefbits_per_wordegseg-> Check baud rate"i_stsscopypTx-Dseg->SPCCPOTIE_BIT" class="sref"ame=3L179"37239 8aa> &am> &, (ser" cl6%s 8 6its per word\n"*/ -t; 8aa> &am> &, (ser" cl6&163" cla6s/spi/spi-topcliff-pch.c6L163"67I_CPOTTTTTTTTTvers/spi/spi-to3x_buf href="drivers/fx_bufs_per4Lvers/spi/spi-to me=3L179"37239 seg->j-t;seg->j-t;< &lL183"48391 ame=3L179"37239 seg->bpw_leneg" L6" class="line" jef">seg->j-t;<++class="sref">pch_spi_supeg(struct seg->I_CPHAssi baudod=pdev"s/spi/spi-topclame=3L179"37239 seg->j-t;<]a4Lef="+code=pch_sp3x_buf href="drivers/fx_bufs_pe++ef>pdev

"%6aaeg" cla6its per word\n"*/ 8aa> &am> &, (ser" cl6" name=4L677"47796 6 re67/spp ->seg->j-t;seg->j-t;< &lL183"48391 ame=3L179"37239 seg->bpw_leneg" L6" class="line" jef">seg->j-t;<++class="sref">pch_spi_supeg(struot;%6a>} seg->j-t;<]a4Lef="+code=pch_sp3x_sbuf href="drivers/fx_sbufs_pe++ef>pdev

"%6"line" na6e=4L180"48180 6 >-&g = seg->n_s/spir-t; seg->bpw_leneg" Lpcliff-pch.c4L162" id=4L182" class="line" 6"; seg->n_s/spir-t; f>,, FIFO_DEPTHef">seg-> f>,, FIFO_DEPTHe=maclass="sref">pch_spi_supeg(struct seg->n_s/spir-t;,, FIFO_DEPTHef">seg-> f>,, FIFO_DEPTHe=maLpcliff-pch.c4L162" id=4L182" class="line" 6" name=4L6s/spi/spi-topcliff-pch.c6L167"68d=3L187" class="line" name=3L187"38778 6af="drive6f="drivers/spi/spi-topcl6ff-pc684L218" id=4L2cliff-pch.c4L24e" name=4L185"48205} pch_spclearlass="line" name=4L186"48refe=x_epeed_hzffser" cl87" class="line" name=3L187"38778 6ss="sref>6dev

&q69ts_per_wordeg" class=vers/4BRPC-pch.c#L242" id=t0x2-ser" class="srefp">seg-> iowrit1 rcomment"s/spire3L175" class="lipomment"s/spire3ef="ds/spi/spi-topclame=3L179"37239 pch_spclearass="srefp">segseg-> fSSNXCRlearass="srefp">segseg->SSN_LOWs="sref>pdev

"%6a=4L181"46f="drivers/spi/spi-topcl6ff-pc69f="+code=PCHRSBIT" class="srefe=PCHRSBff 69te -t;seg->j-t;seg->j-t;< &lL183"48391 n_s/spiref">seg->n_s/spir-t;seg->j-t;<++class="sref">pch_spi_supeg(struot;%6>; pch_spclearass="srefp">segseg-> fSPDWR175"ass="srefp">seg seg->j-t;<]ref>pdev

"%6asrefe=x_6f="drivers/spi/spi-topcl6ff-pc69eI_MABAUDRATEIT" class="srefe=PCI_MABAUDRATEeg<6s>; fx_index-pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 66"39166 6>pch_69cod">SPCCPHAIE_BIT" class="seme=3L179"37239 seg->j-t;pdev

"%6a name=4L639167 6a>} -> pdev

"%7;
732 iowrit1 reme=3L179"37239 ; pch_spi_supeg(struot;%7a5; ser" cl7;6; pdev

"%7h_bter" c7ass="srefnch_btff
7a hre70cod">SPCCPHAIE_BIT" class="se" name=4L185"48205} pch_spclearlass="line" name=4L186"48refe=x_epeed_hzffser" class="srefp">seg->; seg->6" iurame=a" 4L231" class="line" name=4L231"43191 7>, SPCCPOTIE_BIT" class="sref"ame=3L179"37239 8aa> &am> &, (ser" cl7252 ">pc7_spi_71te -t;} pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (ser" cl72>; 7 @mas71I_CPOTTTTTTTTTvers/4BRPC-pch.c#L242" id=tersBRs:Invokf="dcallbackaof SPI inre"+codp">ser" class="srefp">seg-> @b7ts_pe71href="+code=PCH_BRPC-a> pdev

"%7cliff-pch7c4L205" id=4L215" class=7line"716 by togglssi+codEINVATEL" class="srefEINVATid
; spi_7aster71+code=x_epeed_hzer" class="srefe=x_epeed_hzff 6" iurain global variabl3-pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 7cefnch_bt7="drivers/spi/spi-topcli7f-pch714L218" id=4L2cliff-pch.c4L24eme=3L179"37239 bcurr na_d=3_procpch#L2eg" a4L" class="line" falsepch.c4L166" id=false-t;pdev

"%74L219"41179
f>, ( iowrit1 re} pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (ser" cl74liff-pch7pi/spi-topcliff-pch.c4L271" id72L221" class="line" naaers/4BRPC-pch.c#L242" id=tersBRs: ser" class="srefp">seg-> ame=3L179"37239 pdev

"%7)5;
pdev

"%7)liff-pch7c4L215" id=4L225" class=7line"724L165" id=4L165" class="line" name=4L165"46205<7s="commen7"> ">pch_spi_sup_">trans7eg() 7274L705" id=4L237" class="line" name=4LcheckaE_Bwe have itemrain list-topcnot suspend#L2egpi-topcliff-pch.c4L162" id=4L182" class="line" 748bter" c742167
-> pcliff-pch.c4L162" id=4L182" class="line" 7ref="+cod7=sp>pdiceer" class="sref7>sp>p73ts_per_wordeg" clI cliff-pch.c4L24eme=3L179"37239 boardspi/href="drivers/spi/spi-to"uspend_stref">seg->6uspend_strs="sri47175 pcliff-pch.c4L162" id=4L182" class="line" 7r seg->6" iurame=a!4Lvers/spi/spi-toSTATUS_EXITINGef">seg->STATUS_EXITINGs="srca!> 8aa> &am> &, (ser" cl7 t;"%s ">BRs7c_nte7t =ಥ" class="line" nameodc_ntexddc_ntexd*more-5pch.c3s)efpi-topcliff-pch.c4L162" id=4L182" class="line" 7 5; master<7a>, <7 href=237" class="line" nameodc_ntexddc_ntexd*i/spi-topcliff-pch.c4L162" id=4L182" class="line" 7nliff-pch7ass="sref">seg-><7 href73I_CPHAent"> iowrit1 re} pch_spclearlass="line" name=4L186"48refe=x_epeed_hzffser" class="srefp">seg->seg-><7 href73a href="+cod__func__e"ers/spi/spi-toqueu3"+cokL175" class="liqueu3"+coke=maIT" class="sref"ame=3L179"37239 boardspi/href="drivers/spi/spi-to"uspend_stref">seg->6uspend_strs="s ||f>pdev

"%7 efnch_bt7e" name=4L238"43198 7 73v-> seg->6" iurame=a=4Lvers/spi/spi-toSTATUS_EXITINGef">seg->STATUS_EXITINGs="sra!> 8aa> &am> &, (ser" cl7>ser" cla7s="sref">seg-> iowrit1 re} pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (ser" cl7>ser" cla> 8aa> &am> &, (ser" cl7>t; & *seg->seg->list_for_eapi/ naryi-topcliff-pch.c4L24rd=3L175" class="lip=3L175"ass="srefp">seg seg 8aa> &am> &, (ser" cl7>; I_CPOTTTTTTTTTvers/spi/spi-toBd=3L175" class="lip=3L175"i/spi-topcliff-pch.c6" iuref">seg->6" iurame=a" class="sref">dataIOef">seg->aIOe=maef>pdev

"%7gaeg" cla7s="srefflagaff I_CPHAssi baudment"> check bits ped=3L175" class="lip=3L175"i/spi-topcliff-pch.cinepleanpch.c4L166" id=inepleane=maclass="sref">pch_spi_supeg(struot;%7gaeg" cla7s="srefflagaff I_CPOTTTTTTTTTvers/spi/spi-toBd=3L175" class="lip=3L175"i/spi-topcliff-pch.cinepleanpch.c4L166" id=inepleane=mat"> check bits ped=3L175" class="lip=3L175"i/spi-topcliff-pch.cinntextpch.c4L166" id=inntexts="sref>pdev

"%7ref="+cod7=PCH_SPC-pch.c#L242" id=7ers/s74d=3L187" class="line" name=3L187"38778 7>lass="li7SPCCPOTIE_Bid) | ); pdev

"%7>>;
Clear7s thF75="+codc_complete" cla+codEINVATEL" class="srefEINVATid; t;ser" class="sref">s7g754L201" id=4L2+codEINVATEL" class="srefEINVATid; pch_spi_supeg(struot;%7e" name=47255"45205 8aa> &am> &, (ser" cl7>aeg" cla745166 shold,Lenabl3-SPI pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 7>ef="+cod7c4L217" id=4L257" class=7line"75/spp seg->bpw_leneg" )r=4L183"48391 f>,, FIFO_DEPTHef">seg-> f>,, FIFO_DEPTHe=maclass="sref">pch_spi_supeg(struct spi_7aster75v-> shold- pch_spclearass="srefp">segseg-> fSPCRlearapcliff-pch.c4L162" id=4L182" class="line" 7n>; 7 >seg-> fRX_THOLD"+cod&lL1&lL183"48391 SPCR_RFIC FIELDef">seg->SPCR_RFIC FIELDs="s |pcliff-pch.c4L162" id=4L182" class="line" 7nt;master7 seg->SPCR_FIE_BITs="s |83"48391 SPCR_RFIE_BITef">seg->SPCR_RFIE_BITs="s |pcliff-pch.c4L162" id=4L182" class="line" 7n; seg->SPCR_ORIE_BITs="s |83"48391 SPCR_SPE_BITef">seg->SPCR_SPE_BITlearapcliff-pch.c4L162" id=4L182" class="line" 7n; 76I_CPOTTTTTTTTTodEIOts"ss=a>seg->MASK_RFIC SPCR_BITSs="s |83"48391 fA hpch.c4L166" id= fA hs="sref>pdev

"%7de=master7 class="sref">master7 I_CPHAv37" class="line" name=4L237"recepch"ta> shold- pch_spclearass="srefp">segseg-> fSPCRlearapcliff-pch.c4L162" id=4L182" class="line"l7fef="+cod7p>pdiceer" class="sref">7p>pdi76/spp seg-> fRX_THOLDf>,,"+cod&lL1&lL183"48391 SPCR_RFIC FIELDef">seg->SPCR_RFIC FIELDs="s |pcliff-pch.c4L162" id=4L182" class="line" 7node=spi_7="drivers/spi/spi-topcli7f-pch76v->seg->SPCR_FIE_BITs="s |83"48391 SPCR_ORIE_BITef">seg->SPCR_ORIE_BITs="s |pcliff-pch.c4L162" id=4L182" class="line" 7ass="line7 name=4L169"46189 7 ><77ts_per_wordeg" class=odEIOts"od=pdev"ss=a>seg->SPCR_SPE_BITlearapcliff-pch.c4L162" id=4L182" class="line" 7lass="sre7p">seg->seg->MASK_RFIC SPCR_BITSs="s |83"48391 fA hpch.c4L166" id= fA hs="sref>pdev

"%7" class="7refp">seg->} } pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (ser" cl7e; seg->I_CPHAvers/4BRPC-pch.c#L242" id=tersBRs:waspf="dfor 3L171" i ser" class="srefp">seg-> 7 re77/spp seg pdev

"%7aode=spi_7s/spi/spi-topcliff-pch.c7L178"77v
f>pdev

"%7a>} 7 iowrit1 rcomment"s/spire3L175" class="lipomment"s/spire3ef="ds/spi/spi-topclame=3L179"37239 pch_spclearass="srefp">segseg-> fSPSRlearapcliff-pch.c4L162" id=4L182" class="line"l7e=4L181"47191 > iowrit1 rcomment"readre3L175" class="lipomment"readre3ef="ds/spi/spi-topclame=3L179"37239 pch_spclearass="srefp">segseg-> fSPSRlear)ref>pdev

"%7e#37;s 8 748252 -t;-&g = comment"sesclr_re3L175" class="lipomment"sesclr_re3e=maIT" class="sref"ame=3L179"37239 pch_spclearass="srefp">segseg-> fSPCRleara 0ass="srefp">seg SPCR_SPE_BITef">seg->SPCR_SPE_BITlearref>pdev

"%7e>} comment"clear_fifoL175" class="lipomment"clear_fifoe=maIT" class="sref"ame=3L179"37239 pch_spclearref>pdev

"%7eaeg" cla7t" class="srefreeff
7 7af="drive7f="drivers/spi/spi-topcl7ff-pc784L218L257"45167; pch_spi_supeg(struct ser" cl7a href="+7od__func__ev" class="sre7__fun79n class="commintdev_id" class="sjef">seg->j-t;pdev

"%7a=4L181"47f="drivers/spi/spi-topcl7ff-pc792r_wordeg" class="comment"> u8ef">seg->u8pi-topcliff-pch.c3L24rx_buf href="drivers/rx_bufs_peef>pdev

"%792" class7"line" name=3L192"3 192<7a> 79te -t; uc4L205" id=a>->u16 by tpcliff-pch.c3L24rx_sbuf href="drivers/rx_sbufs_peef>pdev

"%79163" cla7="drivers/spi/spi-topcli7f-pch793L173" id=3L193" class="line" name=3L193"3 193<7asrefe=x_7f="drivers/spi/spi-topcl7ff-pc79c4L164" id=4Lv37" class="line" name=4LcopypRx-D
; pch_spi_supeg(struct 7>pch_79a href="+cod__func__eef="dref>pdev

"%7a name=4L739167
7a>} -> 8aa> &am> &, (ser" cl8cliff-pch8c3L189" id=3L199" class=8line"80ts_per_wordeg" class=a> 832seg->j-t;seg->j-t;< &lL183"48391 ame=3L179"37239 seg->bpw_leneg" L6" class="line" jef">seg->j-t;<++class="sref">pch_spi_supeg(struot;%8;2a href=8+="drivers/spi/spi-topcl8f-pch80L221" class="line" na"+code=Ppcliff-pch.c3L24rx_buf href="drivers/rx_bufs_pe++r4Lvers/spi/spi-to me=3L179"37239 seg->j-t;<]ariver 0xFFef>pdev

"%8;3a href=8+line" name=3L192"3 192<8 ( -t; 8aa> &am> &, (ser" cl8a>; seg->j-t;seg->j-t;< &lL183"48391 ame=3L179"37239 seg->bpw_leneg" L6" class="line" jef">seg->j-t;<++class="sref">pch_spi_supeg(struot;%8;6; I_CPHAssi baudpcliff-pch.c3L24rx_sbuf href="drivers/rx_sbufs_pe++r4Lvers/spi/spi-to me=3L179"37239 seg->j-t;<]ef>pdev

"%8;7; 8a hre80cod">SPCCPHAI+codEINVATEL" class="srefEINVATid; f>pdev

"%8>;
; pch_spi_supeg(struct 8aa> &am> &, (ser" cl8cliff-pch8c4L211" id=4L211" class=8line"812od">SPCCPOTIEntdev_id" class="sjef">seg->j-t;pdev

"%8252 ">pc8_spi_81te -t; u8ef">seg->u8pi-topcliff-pch.c3L24rx_buf href="drivers/rx_bufs_peef>pdev

"%82>; 8 @mas81 > uc4L205" id=a>->u16 by tpcliff-pch.c3L24rx_sbuf href="drivers/rx_sbufs_peef>pdev

"%835;
@b8ts_pe81href="+code=Pconstdev_id" class="su8ef">seg->u8pi-topcliff-pch.c3L24rx_dm<_buf href="drivers/rx_dm<_bufs_peef>pdev

"%836; ->u16 by tpcliff-pch.c3L24rx_dm<_sbuf href="drivers/rx_dm<_sbufs_peef>pdev

"%837;
spi_8aster81+code=x_epeed_hzer" class="srefe=x_epeed_hzff pch_spi_supeg(struct f>, (pdev

"%84
, SPCCPOTIE_BIT" class="sref"bpwd=3L254" class=bpweg" a4L175i!> 8aa> &am> &, (ser" cl8c#L242" i8=tersBRspi/sppcliff-pch.8#L26182te -t; pdev

"%8)5;
seg->j-t;seg->j-t;< &lL183"48391 ame=3L179"37239 seg->bpw_leneg" L6" class="line" jef">seg->j-t;<++class="sref">"%8)6; I_CPHAssi baudpcliff-pch.c3L24rx_buf href="drivers/rx_bufs_pe++r4Lpcliff-pch.c3L24rx_dm<_buf href="drivers/rx_dm<_bufs_pe++rriver 0xFFef>pdev

"%8s="commen8"> ">pch_spi_sup_">trans8eg() 82a href="+cod__func__ea>
pdev

"%8)8bter" c842167
8aa> &am> &, (ser" cl8cefnch_bt8c4L228" id=4L228" class=8line"82v-> pdiceer" class="sref8>sp>p83ts_per_wordeg" cltexdcliff-pch.c4L24rx_dm<_sbuf href="drivers/rx_dm<_sbufs_per4Lvers/spi/spi-to me=3L179"37239 pdev

"%8r
seg->j-t;seg->j-t;< &lL183"48391 ame=3L179"37239 seg->bpw_leneg" L6" class="line" jef">seg->j-t;<++class="sref">"%8rliff-pch8="+codu=u32" class="sref8>u32<83L221" class="line" nassi baudpcliff-pch.c3L24rx_sbuf href="drivers/rx_sbufs_pe++r4Lpcliff-pch.c3L24rx_dm<_sbuf href="drivers/rx_dm<_sbufs_pe++ef>pdev

"%8 #L242" i8f="drivers/spi/spi-topcl8ff-pc83te -t; pdev

"%8 ;
"%s ">BRs8c_nte83;master<8a>, <8 href=+codEINVATEL" class="srefEINVATid; seg-><8 href834L165" id=4L165" class="line" name=4L165"46205<8 ="commen8ass="sref">seg-><8 href83a hreL257"45Entdev_id" class="spomment"start-ff-pch.cpch.c4L166" id=4omment"start-ff-pch.cers/s+codeidev_id" class="sspi/spi-Bdr; "%8r8bter" c8f="drivers/spi/spi-topcl8ff-pc83c4L70!> 8aa> &am> &, (ser" cl8 efnch_bt8e" name=4L238"43198 8 83v->; seg->pdev

"%8>
seg->rtners/ef>pdev

"%8>liff-pch8sref"+coff & * 4m; pdev

"%8>;
locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8>liff-pch8er" class="sref"+coff
pch_spclearass="srefp">segseg-> fSPCRleara s="srefp">segseg->SPCR_SPE_BITleara83"48391 fA hpch.c4L166" id= fA hs="sref>pdev

"%8>lass="li8SPCCPOTIE_Bid) | locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8>>;
Clear8s thF85_it, ser" class="sref">s8g854L201" id=4L2a37" class="line" name=4LWait until the 3L171" i inepleans; go- a} pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (ser" cl8cliff-pch8c4L244" id=4L254" class=8line"85href="+code=PCH_BRPC-aers/4BRPC-pch.c#L242" id=tersBRs:waspf="dfor 3L171" i ser" class="srefp">seg-> rtnef">seg->rtners/r4Lvers/spi/spi-to+asp_ev na_interruptibl3_timeoutpch.c4L166" id=wait_ev na_interruptibl3_timeoute=maIT" class="sref"ame=3L179"37239 pdev

"%8eaeg" cla845166
I_CPOTTTTTTTTT+code=PCH_BRPC-a" class="sref"ame=3L179"37239 pdev

"%8eef="+cod8c4L217" id=4L257" class=8line"85/spp
pdev

"%8elass="li8aster" class="sref">spi_8aster85v
->seg->rtners/class="sref">"%8n> } pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (ser" cl8n>; 8 >ser" class="srefp">seg->master8 -t; 4m<_syclasg_for_cpu/a>; pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 4m; 4m; 8aa> &am> &, (ser" cl8n; 86I_CPOTTTTTTTTTodEI-topcliff-pch.cDMA_FROM_DEVICEma>; pdev

"%8nliff-pch8 class="sref">master
8 4m<_syclasg_for_cpu/a>; pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 4m; 4m; 8aa> &am> &, (ser" cl8naeg" cla8f="drivers/spi/spi-topcl8ff-pc86a href="+cod__func__eTTTTTTTTodEI-topcliff-pch.cDMA_FROM_DEVICEma>; pdev

"%8nef="+cod8p>pdiceer" class="sref">8p>pdi86/spp
; seg; pdev

"%8nlass="li8="drivers/spi/spi-topcli8f-pch86v
f>pdev

"%8ass="line8 name=4L169"46189 8 ><87an class="com rate=%e\n&asyclatx_ack3L179"37239asyclatx_acke=maIT" class="sref"am; pdev

"%8lass="sre8p">seg
->asyclatx_acke=maIT" class="sref"am; pdev

"%8lt;
seg-> kfrenpch.c4L166" id=kfrene=maIT" class="sref"am; pdev

"%8l;
-t; kfrenpch.c4L166" id=kfrene=maIT" class="sref"am; pdev

"%8l;
} locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8e;
seg-> shold,Ldisabl3-interrupts,cdisabl3-SPI 3L171" i pi/spi-topcliff-pch.c4L162" id=4L182" class="line" 8" name=4L877"47796 8 re87/spp pch_spclearass="srefp">segseg-> fSPCRleara 0r> 8aa> &am> &, (ser" cl8aode=spi_8s/spi/spi-topcliff-pch.c8L178"87v->segseg->MASK_RFIC SPCR_BITSs="s |83"48391 MASK_TFIC SPCR_BITSef">seg->MASK_TFIC SPCR_BITSs="s |83"48391 fA hpch.c4L166" id= fA hs="s |pcliff-pch.c4L162" id=4L182" class="line" 8a>} segseg->SPCR_SPE_BITlearref>pdev

"%8"line" na8e=4L180"48180 8 > comment"s/spire3L175" class="lipomment"s/spire3ef="ds/spi/spi-topclame=3L179"37239 pch_spclearass="srefp">segseg-> fSPSRlearapcliff-pch.c4L162" id=4L182" class="line"l8e#37;s 8 848252 -t; comment"readre3L175" class="lipomment"readre3ef="ds/spi/spi-topclame=3L179"37239 pch_spclearass="srefp">segseg-> fSPSRlear)ref>pdev

"%8"163" cla8_hzff-&g = } pch_spclearref>pdev

"%8";
locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8" name=4L8s/spi/spi-topcliff-pch.c8L167"88d=3L187" class="line" name=3L187"38778
8af="drive8f="drivers/spi/spi-topcl8ff-pc88v->seg->rtners/ef>pdev

"%8ss="sref>8dev

&q89ts_pe+codEINVATEL" class="srefEINVATid; "%892" class8"line" name=3L192"3 192<8a> 89te 8aa> &am> &, (ser" cl89163" cla8="drivers/spi/spi-topcli8f-pch89 > 8>pch_8974L164" id=4Lvers/spi/spi-toame=3L179"37239 pdev

"%8s name=4L839167
pdev

"%8a>}
+codEINVATEL" class="srefEINVATid; ; pspi/spi-filt;seg->pm<_chanpi-topcliff-pch.c3L24chanef">seg->chanpi-t, 167"%9;2a href=9+="drivers/spi/spi-topcl9f-pch90L221"!> 8aa> &am> &, (ser" cl9;3a href=9+line" name=3L192"3 192<9 ( -t;pdev

"%9a>;
seg->chanpi-t="drivers/spi/spi-tochan_idef">seg->chan_ideg" r44Lvers/spi/spi-toparamass="line" namesarameg" ="drivers/spi/spi-tochan_idef">seg->chan_ideg" )Lriverriver" id=3L193" class="line" name=3L193"3 193<9;6; I_t"> check bits pearamass="line" namesarameg" ="drivers/spi/spi-todm<_86"48refe=x_epeed_hm<_86"eg" r44Lvers/spi/spi-tochanef">seg->chanpi-t="drivers/spi/spi-to86"ic3ass="line" name86"ic3learlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (ser" cl9;7; 9a hre90a href="+cod__func__ea>seg->chanpi-t="drivers/spi/spi-top &aaanpch.c4L166" id=c &aaaneg" r4Lvers/spi/spi-toearamass="line" namesarameg" r" id=3L193" class="line" name=3L193"3 193<9;8; pdev

"%9;9bter" c9a"line" name=3L198"3 1989rsBRs90v
-> 8aa> &am> &, (ser" cl9>; pdev

"%9>
+codEINVATEL" class="srefEINVATid; ">pc9_spi_91te 9 @mas91 >L257"45167; pch_spi_supeg(struct @b9ts_pe91href=!> 8aa> &am> &, (ser" cl9>6; 4m<_cap_mask_tpch.c4L166" id=4m<_cap_mask_tspp ev_id" class="smaska href="+cod">pch_ks="sef>pdev

"%9>7;
spi_9aster91a href="+cod_+codeidev_id" class="spm<_chanef">seg->pm<_chanpi-topcliff-pch.c3L24chanef">seg->chanpi-tef>pdev

"%9>8; pdev

"%9>9bter" c9="drivers/spi/spi-topcli9f-pch91v
->pdev

"%94L219"41199
f>, (; pdev

"%94liff-pch9pi/spi-topcliff-pch.c4L291" id92f="+code=PCHRSBIT" class="srefe=PCHRSBff -t;
; I_CPHAcliff-pch.c4L24widthpch.c4L166" id=widthers/r4Lvers/spi/spi-to fDMA_WIDTH_2_BYTESef">seg-> fDMA_WIDTH_2_BYTESers/ef>pdev

"%947; ">pch_spi_sup_">trans9eg() 92+code=x_epeed_hzer" class="srefe=x_epeed_hzff; pdev

"%9cefnch_bt9c4L228" id=4L228" class=9line"92v
-> 4m<_cap_zeroL175" class="li4m<_cap_zeroe=maIT" class="sref"maska href="+cod">pch_ks="sref>pdev

"%9ref="+cod9=sp>pdiceer" class="sref9>sp>p93an class="com rate=%e\n&4m<_cap_seama>;
; pch_ks="sref>pdev

"%9r
, 4m<_86"48refe=x_epeed_hm<_86"eg" r4dev_id" class="sspi_get_bus_and_sloama>; pnumb;; "%s ">BRs9c_nte93I_CPOTTTTTTTTTodEIcod">I_CPHAcliff-pch.c4L24PCIf-pc8="+cod9=sp>pdiceer" class="sref9>sp>p93an class="5; 12, 0"%8"163" cla8_hzff-&g = , <8 h9ef=+codEINVATEL" class="9refEI93MABAUDRATEeg<8s>; "%9cefnch_bt9c4L228" id=4L228" class=8ff-pc83c9L70!> 8aa> &am> &, (<9 href93t"sesclr_re3L175" class="lipoers/spi/spi-todm<_86"48refe=x_epeed_hm<_86"eg" r44Lvers/spi/spi-tochanef">seg-&m9 segeed_hzff 8aa> &am> &, (->seg->chan_ideg" )Lriverriver" id=3L193" class="lin/a> ; seg->chan_ideg" )txre3e=maIT" class="stxre3e"lin/a> -> fSPSRlear)ref>DWdev

asyclatvers/spi/spi-tochan_idef">seg
->chan_ideg" )rs/spi/spi-to fDMA_WIDTH_2_BYTESef">seg-&ev

"%94liff-pch9pi/spi-topcliff-pch.c4L28ref="84f9"+code=PCHRSBIT" class="9refe=94t"s/spire3L175" class="lipom

&q/a> pch_ks="sref>pdev

&>pch_ks="sref>pdepi-filt;pch_ks="sref>pdepers/spi/spi-tochan_idef">segquot;%8"163" cla8_hzff-&g =
-t;&qdp">ser" cl9;7; 8 &8439173" id=3L193" class="li9e" na9424widthpch.c4L166" id=widthers/r4Lverivers/spi/spi-topcl me=3L179"37239 pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (ser" cl8n>; 98href=84c9L164" id=4Lvers/spi/spi-9oe" n9lock_irqsav3asthpch.c4L166" id=ait-ev na timeout"+codp">sERROR: r.c3L="sspi/rssine- FAILS(Tx)->-&g = pch_spclearlasuse_rliff-pch.c6g_rx_puse_rlin>&q/a>0uot;%8"163" cla8_hzff-&g = "%7a name=4L739167; ">pc8ef="+84v9/a>f>pdev

&q/a>
; "%9>8; seg-&m9 segeed_hzff 8aa> &am> &, (} seg->chan_ideg" )Lriverriver" id=3L193" class="lin/a> 1; is inepleand;inform riverRxt=aTxt+>1182" class="line" 9 #L242" i9f="drivers/spi/spi-topcl8href=84c9ef="+code=PCH_BRPC-aers/9BRPC-95t"clear_fifoL175" class="lipoers/spi/spi-tochan_idef">seg->chan_ideg" )rxre3e=maIT" class="srxre3e"lin/a> -> fSPSRlear)ref>DRdev

seg
->rtners/r4Lvers/svers/spi/spi-tochan_idef">seg->chan_ideg" )rs/spi/spi-to fDMA_WIDTH_2_BYTESef">seg-&ev

"%94liff-pch9pi/spi-topcliff-pch.c4L28ment"85a9href="+cod__func__e">I_C9OTTTT95179"37239 pch_ks="sref>pdev

&>pch_ks="sref>pdepi-filt;pch_ks="sref>pdepers/spi/spi-tochan_idef">segquot;%94liff-pch9pi/spi-topcliff-pch.c4L28ers/s84/9pp
&qdp">ser" cl9;7; 8aster85v9/a>-> pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (ser" cl8n>; 98f-pch86t9_per_wordeg" class=a>sERROR: r.c3L="sspi/rssine- FAILS(Rx)->-&g = &qquot;%8"163" cla8_hzff-&g = 8549"+code=PCHRSBIT" class="9refe=96f-pch.c3L24rx_sbuf hrlass="li4m<_cap_zeff-pch.c6g_rx_pass="line" nameeg_rx_pf&q/a> "%94liff-pch9pi/spi-topcliff-pch.c4L28ff-pc86t9 -t; &q/a>0uot;%8"163" cla8_hzff-&g = 86<9 href="+cod">I_CPOTTTTTT9TTodE9-topcliff-pch.cDMA_FROsin>"%7a name=4L739167; ">pc8f-pch86e9_wordeg" class="comment"9 4m<_9yclasg_for_cpu/a>; &q/a> ; ">pc8ers/s84/9pp 8af="drive8f="drivers/spi/spi-topc98f-pch86v9/a>f>pdev

&qu"request_dm
; /a>; "%8r8bter" c8f="drivers/spi/spi-topc98 ><87a9 class="com rate=%e\9&asyc9atx_ac">ser" cl9;7; 8codbi87=9+codc_compl rate=%e\9&asyc9atx_ack3L179"3ctrl/a>; pdev

"%94
-t; pdev

"%9cefnch_bt9c4L228" id=4L228" class=8L163"8739173" id=3L193" class="li9e" na97topcliff-pch.ss=bpweg" a4L175oderzeff-pch.c6g_rx_pass="line" nameeg_rx_pf&qqp">ser" cl9;7;
8ff-pc87c9L164" id=4Lvers/spi/spi-9oe" n97ock_irqsav3asthpch.c4 &qquot;%8"163" cla8_hzff-&g = &q/a> "%94liff-pch9pi/spi-topcliff-pch.c4L28pap t8779L705" id=4L237" class="l9ne" n9me=4Lclear fif/a>; ">pc8 re87/9pp ; &qqp">ser" cl9;7; 8f-pch86v9/a>->seg&qquot;%94liff-pch9pi/spi-topcliff-pch.c4L28ff-pc88t9_per_wordeg" class=odEIO9s"od=9="srefp">seg; &q/a> "%94liff-pch9pi/spi-topcliff-pch.c4L28; ">pc8s="co8829_wordeg" class="comment"9 comm9nt"s/spire3L17sin>"%7a name=4L739167 -t;; ">pc8L163"8739 >; /a>; &qlass=b="line" nclass="ef">pch_spi_supeg(struct @b8ff-pc8849165" id=4L165" class="li9e" na9e=4L16">ser" cl9;7; 8 pdiceer" class="sre98L167"88d93L187" class="line" name93L187988lock_irqrestconsBR98ff-pc88v9/a>->BR98in>&q89t9_pe+codEINVATEL" class="9refEI99p_seama>; BR98, ; ; 8aa> &am> &, (<9 href99sspi/dm<_slav3ass="line" namespi/dmlass; ; pdL18i/spi-tonumb;} pdie" name=4L186"4ief="uot;%8s>} pdsizp >>rtners/ef>pdevpdev} pdev

"%8>
; pdev

"/pre>t;%8>
, 109t"s/spire3L175" class="lipom/spi/spi-topcl me=3L179"37239 pdev

"%9cefnch_bt9c4L228" id=4L228" class1093ine"90t109/a!> 8aa> &am> &, (<109/a>109Tid
; ; 1094ine"90t109 >>109e=4Lclear FIFO pi/spi-topcliff-pch.c4L162"baud rate_ss=needL1682" class="line" 9 #L242" i9f="drivers/spi/spi-topc1095ine"90t109MABAUDRATEIT" class="sr109MA>109hanef">seg-&g pdevser" cl9;7; 1096ine"90t109wordeg" cla37" class="l109wo>10924widthpch.c4L166" id=widthers/r4Lverivers/spi/spi-topcl me=3L179"37239 pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (sebaud rate->master109="chanef">seg->chanpi-t="drivesn_lock_irqsav3ers/srivers/spi/spi-topcl me=3L179"37239 locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8e;
seg->109 class="scodnpch.c4L1; pch_spclearass="srefp">segseg-> fSPSRlears/spi/spi-to4m; pdev&qquot;%8e; seg->+codEINVATEL" class="109a>>109"srefp">seg locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8" name=4L8s/spi/spi-topcliff-pch.101line"90t10_per_wordeg" class=ef="d10_pe>10_p=4Lclear all/a>;
">p10_1ine"90t10class="comm+codEINVATEL"10cla>10_="srefreeff+codEINVATEL" class="10d">>10_e=4LGet DMA's 86" inform57"on pi/s162"bits per word_ss=needL1682" class="line" 9 #L242" i9f="drivers/spi/spi-topc1013ine"90t10; pdevpch_spi_supegL257"45167>10_topcliff-pch.cDMAbpweg" a4L175oders/spi/spi-to4m; pdev 8aa> &am> &, (<10ef=>10_ock_irqsav3asthpchpweg" a4L175oders/spi/spi-to4m; pdevpch_spi_supegser" cl9;7; 10_6ine"90t10_wordeg" class="comment"10_wo>10_24widthpch.c4L166" id=widthers/r4Lverivers/spi/spi-topcl me=3L179"37239 pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (master10_="chanef">seg->chanpi-t="drivesn_lock_irqsav3ers/srivers/spi/spi-topcl me=3L179"37239 locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8e;
segmaster10_ class="scodnpch.c4L1; pch_spi_supeg pch_spclearass="srefp">segsegsegmaster->>10_"srefp">seg; pdevpch_spi_supegsegmaster10_psrefp">seg locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8" name=4e8>segmaster10_4BRPC-pch.c#L242" id=="line" nclass="ef">pch_spi_supeg
(str/a> segmaster10_e=4LGet DMA&#="+codp">ser" cl9>; -t;10_" gme=3L179"37239="line" nclass="ef">pch_spi_supeg(str/a> pdevsegmaster ">p1025ine"90t10ef="+code=Pelsef>pdev10_t"clear_fifoL175" class="liprs/spi/spi-toboardspi//a>; ; pdevpch_spi_supeg(str// 8quot;%8" name=4e8>segmasterI_CPHAcliff10 hr>10_=4L165"46205<8eaeg" cla8t" class="srefreeff10_7ine"90t10ode=x_epeed_hzer" class=10ode>10_179"37239&s=bpweg" a4L175oders/spi/spi-to4m; -> fSPSRlear)reBUF_SIZlass="line" maskr)reBUF_SIZln>&qqp">ser" cl9;7; 1028ine"90t10pp 10_ class="scodnpch.c4L1; "%8" name=4e8>segmaster->>10_"srefp">seg"%8" name=4e8>segmaster ">p1031ine"90t10t, -t;10 wd=3L254" class=bpweg" a4L175oders/spi/spi-to4m; pdev&q !a> &qqp">ser" cl9;7; 1034ine"90t10 href="+cod">I_CPOTTTTTT10 hr>10 topcliff-pch.cDMA_FROss=b="line" nclass="ef">pch_spi_supeg(str/aRSBfp">ser" cl9;7; 1035ine"90t10ef=+codEINVATEL" class="10ef=>10 ock_irqsav3asthpch.c4L166" id=pdev&q a> pdiceer" class="sre10 6ine"90t10165" id=4L165" class="li10165>10 24widthpch.c4L166" idL166" id=pdev&q/a> pdev"%8ref="+cod8=sp>pdiceer" class="sre10 7ine"90t10hreL257"45Entdev_id" cla10hre>10 ="chanef">seg->ttttttttfor=bpweg" a4L175odeie" name=4L186"4ief="/a>0ud=widthers/ef>pdie" name=4L186"4ief=" &ldd>-> fSPSRlears/spi/spi-toboardspi//a>; @10 8ine"90t10L70!> 8aa> &am> &, (<10L70>10 class="scodnpch.c4L11111111111111111="line" nclass="terr.c3ev

&q++/a>="line" nclass="ters/spi/spi-torx_sbuttrssin>&q++uot;%8ref="+cod8=sp>pdiceer" class="sre10 9ine"90t10/a>->
>10 "srefp">segser" cl9>; 10_p4widthpch.c4L166" idL166" id=pdev&q a> pdiceer" class="sre1041ine"90t10class="commintdev_id" cl10cla>10_4BRPC-pch.c#L242" id=L166" id=pdevpdev

/a>
pdev"%8ref="+cod8=sp>pdiceer" class="sre1042ine"90t10"+code=PCHRSBIT" class="10"+c>10_f-pch.c3L24rx_sbuf hrttttttttfor=bpweg" a4L175odeie" name=4L186"4ief="/a>0ud=widthers/ef>pdie" name=4L186"4ief=" &ldd>-> fSPSRlears/spi/spi-toboardspi//a>; -t;10_" gme=3L179"372391111111111111111="line" nclass="terr.c3++ef>pdev

++/a>="line" nclass="terdev

&q++uot;%8ref="+cod8=sp>pdiceer" class="sre1044ine"90t10173" id=3L193" class="li10173>10_topcliff-pch.cDMA_FRO/a>; ">p1045ine"90t10L164" id=4Lvers/spi/spi-10L16>10_t"clear_fifoL/a>; ">p10_6ine"90t10165" id=4L165" class="li10165>10_=4L165"46205<8eaeg" cla8t" class="srefreeff1047ine"90t10L705" id=4L237" class="l10L70>10_179"37239 9;s 86" inform57"on pi/sCalculate_Rx idef"etertfor=opc1pi-tomi2p">se82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1048ine"90t10pp 10_ts"ss=de=PCH_ss=b/a>; pdev-> fSPSRlear)rea hrTRANS_SIZlass="line" maskr)rea hrTRANS_SIZln>&qqp">ser" cl9;7; 1049ine"90t10/a>f>pdev

>10_"srefp">seg;
pdev-> fSPSRlear)rea hrTRANS_SIZlass="line" maskr)rea hrTRANS_SIZln>&qqp">ser" cl9;7; 105line"90t10 class="com rate=%e\10 cl>10 cBRPC-pch.c#L242" id=L166" id=pdev; &q/+>1;>ser" cl9;7; 1051ine"90t10t, pdev; &q;>ser" cl9;7; 1052ine"90t10201" id=4L2a37" class="l10201>10 f-pch.c3L24rx_sbuf hr="+codp">ser" cl9>; 10 " gme=3L179"3723911111111=pdev; &q;>ser" cl9;7; 1054ine"90t10 >>10 od">I_CPHAcliff-pch.c4L24PCIf=pdev&q;>ser" cl9;7; 1055ine"90t10ef="+code=PCH_BRPC-aers/10ef=>10 ock_irqsav3asthpch.c4/a>; ">p1056ine"90t10_wordeg" class="comment"10_wo>10 24widthpch.c4L166" id=widthers/r4Lvesizp >&q;>ser" cl9;7; 1057ine"90t10href="+cod__func__e">I_C10hre>10 e=4Lclear fif/"+codp">ser" cl9>; 1;>ser" cl9;7; 1059ine"90t10/a>->>10 "srefp">seg ser" cl9;7; 106line"90t10_per_wordeg" class=a>10_psrefp">seg ser" cl9;7; 1061ine"90t10+codc_complete"rdeg" cla10+co>10_e=4Lclear all/a>; ">p10_2ine"90t10"+code=PCHRSBIT" class="10"+c>10_t"s/spire3L175" class="lipom/ivers/spi/spi-topcl me=3L179"37239 pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (; ">p10_3ine"90t10 -t;10_" gme=3L179"37239 psizp >segmasterI_CPOTTTTTT10 hr>10_e=4L185"48205} locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8e;
segmaster10_e=4L3L171" i is inepleand;inform river162"rece pch_spclearlass="line" name=4L186"48refe=x_epid=flagcers/ref>plassstCdev

">p10_8ine"90t10pp
10_ class="scodnpch.c4L111111111111(3 -> fSPSRleastCd_RFIC_FIELD >&qqp|a>; ">p10_9ine"90t10/a>f>pdev

>10_"srefp">seg-> fSPSRleastCd_TFIC_FIELD >&qqca>;
">p107line"90t10 class="com rate=%e\10 cl>10 csrefp">segpdevpdevsegmaster10 ="srefreeff10 t"s/spire3L175" class="lipomsmee" n_unlock_irqrestor3ers/srivers/spi/spi-topcl me=3L179"37239 locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8" name=4e8>segmaster -t;
10 Tid; ; 1074ine"90t10173" id=3L193" class="li10173>10 e=4Lclear FIFO pi/spi-topcliff-pch.c4LRX 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1075ine"90t10L164" id=4Lvers/spi/spi-10L16>10 t"clear_fifoL175" class="lipr.c>&qf="ddmpdev/a>; pGFP_ATOMICi/spi-tonumb;"%8" name=4e8>segmasterpdev 9;s 86" inform57"on pi/soffs"a, le gth 162p">se82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1078ine"90t10pp 10 t"sesclr_re3L175" class="lipse=maIT" class="ssin>&q/a> pdevsegmaster->seg0ud=widthers/ef>pdie" name=4L186"4ief=" &ldd>-> fSPSRleaL18i/spi-tonumb;pdie" name=4L186"4ief="++id=flagcers/ref>pse=maIT" class="ssin>&q++qp">ser" cl9;7; 108line"90t10_per_wordeg" class=odEIO10_pe>10_psrefp">seg; ; ser" cl9;7; 1081ine"90t10class="comme37" class="l10cla>10_4BRPC-pch.c#L242" id=L166" id=pdevpdev&q/a> pdie" name=4L186"4ief="uot;%8s>} 10_f-pch.c3L24rx_sbuf hrtttttttt=pdevpdev&q/a> pdev&q/* (="line" nclass="ef">pch_spi_supeg(str// 8quot;%8" name=4e8>segmaster -t;10_" gme=3L179"3723911111111=pdevpdev&q)id=flagcers/ref>ppe8i/spi-tonumb;; ">p1084ine"90t10 >I_CPHAcliff-pch.c4L24PCIff hrtttttttt=pdevpdev&qquot;%8" name=4e8>segmaster10_ock_irqsav3asthpch.c4L166" id=pdev; ; ser" cl9;7; 1087ine"90t10L164" id=4Lvers/spi/spi-10L16>10_="chanef">seg->tttttttt=pdevpdev&q/a> ; -> fSPSRleape8i/spi-tonumb;} 10_ class="scodnpch.c4L111111111=pdevpdev&q/a> pdev&q/* (="line" nclass="ef">pch_spi_supeg(str// 8quot;%8" name=4e8>seg->>10_"srefp">segpdevpdev&q)id=flagcers/ref>psizp >segI_CPHAcliff-pch.c4L24PCIff hrtttttttt=pdevpdev&qquot;%8" name=4e8>segmaster, pdev10_f-pch.c3L24rx_sbuf hr="+codp">ser" cl9>; 8aa> &am> &, (<1010_" gme=3L179"3723911111111=pdevpdev&q/a> pdie" name=4L186"4ief="uot;%8s>} >10_od">I_CPHAcliff-pch.c4L24PCIf=pdevpdev&q/a> pdev&q/* (="line" nclass="ef">pch_spi_supeg(str// 8quot;%8" name=4e8>segpdevpdev&q)id=flagcers/ref>psizp >segpdevpdev&qquot;%8" name=4e8>seg10_="chanef">seg->tttttttt=pdev10_ class="scodnpch.c4L1/a>; ">p1099ine"90t10/a>+codEINVATEL" class="10/a>>10_"srefp">seg&qf="ddmpdev-> fSPSRlease=maIT" class="ssin>&qf="ddmpdev"%8s>} ">p1191ine"90t119, &qf="ddmpdevsegmaster119t"s/spire3L175" class="lipom/f>pdev

&/a>
pdev&qid=flagcers/ref>pse=maIT" class="ssin>&qiot;%8" name=4e8>seg 8aa> &am> &, (<119/a>110" gme=3L179"372391111111111111111pire3L175" class="lipomL18i/spi-tonumb;pa hrDEV_TO_MEMi/spi-tonumb;&qiot;%8" name=4e8>seg>110od">I_CPHAcliff-pch.c4L24PCIff hrtttttttt3L175" class="lipoma hrPREP_INTERRUPTi/spi-tonumb;I_|S-> fSPSRleaa hrCTRL_ACKi/spi-tonumb;&qquot;%8" name=4e8>segseg-&g!5" class="lipom/f>pdev

&dp">ser" cl9;7; 1196ine"90t119wordeg" cla37" class="l119wo>11924widthpch.c4L166" id=widthers/r4Lveriveer/spi/spi-topcl meiveer/"37239 pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (; ">p1197ine"90t119164" id=4Lvers/spi/spi-11916>119="chanef">seg->L166" id=widthers/r4Lvesref>pdev

"%8nt;master119 class="scodnpch.c4L1sin>"%7a name=4L739167+codEINVATEL" class="119a>>119"srefp">seg; ">p111line"90t11_per_wordeg" class=ef="d11_pe>111p_seama>; ; sg_for_="+ic/"37239 pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (pa hrFROMrDEVIClass="line" maska hrFROMrDEVIClin>"%8nt;master1114BRPC-pch.c#L175" class="lip/f>pdev

&f="ddmpdev&/a>
segmaster+codEINVATEL" class="11d">>111t"s/spire3L175" class="lipom/f>pdev

&f="ddmpdev&/a>
segmasterpdev&/a> } L257"45167>111e=4L185"48205} pdevpdev

&/a>
8aa> &am> &, (<11ef=>111MABAUDRATEeg<8s>; 111e=4L3L171" i is inepleand;inform riverCalculate_Tx idef"etertfor=opc1pi-tomi2p">se82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1117ine"90t11href="+cod_+codeidev_id"11hre>11_="chanef">segss=b/a>; pdev-> fSPSRlear)reMAX_FIFOrDEPTH >&dp">ser" cl9;7; 1118ine"90t11L705" id=4L+codeidev_id"11L70>11_ class="scodnpch.c4L1; &q;>ser" cl9;7; 1119ine"90t11/a>->>11_"srefp">seg; pdev-> fSPSRlear)rea hrTRANS_SIZlass="line" maskr)rea hrTRANS_SIZln>&q/="dd>4dp">ser" cl9;7; 112line"90t11_per_wordeg+codeidev_id"11_pe>11_psrefp">seg -> fSPSRlear)rea hrTRANS_SIZlass="line" maskr)rea hrTRANS_SIZln>&q/+>1;>ser" cl9;7; 1121ine"90t11class="communsigned intd11cla>11_4BRPC-pch.c#L242" id=pch.c4L1; -> fSPSRlear)rea hrTRANS_SIZlass="line" maskr)rea hrTRANS_SIZln>&q -> } 112f-pch.c3L24rx_sbuf hr="+codp">ser" cl9>; -t;11_" gme=3L179"37239pch.c4L1; -> fSPSRlear)rea hrTRANS_SIZlass="line" maskr)rea hrTRANS_SIZln>"%8s>} I_CPHAcliff-pch.c4L24PCIf=pdev; &q +ot;%8s>} pdev&q -> } I_CPHAcliff11 hr>11224widthpch.c4L166" id/ot;%8s>} 112="chanef">seg-> &q;>ser" cl9;7; 1128ine"90t11pp 11_ class="scodn="+codp">ser" cl9>; ->>11_"srefp">seg1;>ser" cl9;7; 113line"90t11 class="com rate=%e\11 cl>113psrefp">seg ser" cl9;7; 1131ine"90t11t, pdev; 1132ine"90t11201" id=4L2a37" class="l11201>113f-pch.c3L24rx_sbuf hr; 0u>ser" cl9;7; 1133ine"90t11 -t;11 wd=3L254" cla/ot;%8s>} I_CPOTTTTTT11 hr>11 topclot;%8s>} &qf="ddmpdev/a>; pGFP_ATOMICi/spi-tonumb;"%8" name=4e8>segpdev11 ="chanef">seg 9;s 86" inform57"on pi/soffs"a, le gth 162p">se82" class="line" 9 #L242" i9f="drivers/spi/spi-topc11 8ine"90t11L70!> 8aa> &am> &, (<11L70>113t"sesclr_re3L175" class="lipse=maIT" class="ssin>&q/a> pdevseg->>113"srefp">seg0ud=widthers/ef>pdie" name=4L186"4ief=" &ldd>-> fSPSRleaL18i/spi-tonumb;pdie" name=4L186"4ief="++id=flagcers/ref>pse=maIT" class="ssin>&q++qp">ser" cl9;7; 11_p4widthpch.c4L166" idss=b/a>; ser" cl9;7; 11_4BRPC-pch.c#L242" id=L166" id=pdevpdev&q/a>0u>ser" cl9;7; 1142ine"90t11"+code=PCHRSBIT" class="11"+c>11_f-pch.c3L24rx_sbuf hrttttttttmpdevpdev&q)id=flagcers/ref>psizp >; ">p1143ine"90t11 -t;11_" gme=3L179"372391111111111111111" id=pdevpdev&qquot;%8" name=4e8>segseg114ock_irqsav3asthpch.c4/"+codpss=b/a>; ; ser" cl9;7; 11_6ine"90t11165" id=4L165" class="li11165>11424widthpch.c4L166" idL166" id=pdevpdev&q/a> -> fSPSRleasizp >} seg->tttttttt=pdevpdev&q/a> pdev&q/* (="line" nclass="ef">pch_spi_supeg(str// 8quot;%8" name=4e8>seg114 class="scodnpch.c4L111111111=pdevpdev&q)id=flagcers/ref>ppe8i/spi-tonumb;; ">p1149ine"90t11/a>f>pdev

>11_"srefp">segseg
->tttttttt=pdevpdev&qquot;%8" name=4e8>segpdev, ser" cl9>; pdev&q/a> -> fSPSRleasizp >} 11 " gme=3L179"3723911111111=pdevpdev&q/a> pdev&q/* (="line" nclass="ef">pch_spi_supeg(str// 8quot;%8" name=4e8>seg>11 od">I_CPHAcliff-pch.c4L24PCIf=pdevpdev&q)id=flagcers/ref>psizp >seg11111111=pdevpdev&qquot;%8" name=4e8>seg11 24widthpch.c4L166" id4L24PCIf=pdevI_C11hre>115="chanef">seg->/ot;%8s>} &qf="ddmpdev-> fSPSRlease=maIT" class="ssin>&qf="ddmpdev"%8s>} ->>115"srefp">seg; ">p116line"90t11_per_wordeg" class=a>116p_seama>; &qf="ddmpdevseg1164BRPC-pch.c#L175" class="lip/f>pdtv

&/a>
pdevseg116f-pch.c3L24rx_sbuf hrtttttttt723911111111=pdevpa hrMEM_TO_DEVi/spi-tonumb;seg -t;11_" gme=3L179"37239tttttttt723911111111=pdevI_|S-> fSPSRleaa hrCTRL_ACKi/spi-tonumb;&qquot;%8" name=4e8>segI_CPOTTTTTT11 hr>11_e=4L185"48205>-&g!5" class="lipom/f>pdtv

&dp">ser" cl9;7; 1165ine"90t11_MABAUDRATEIT" class="sr11_MA>116ock_irqsav3asthpch.c45" class="lipom/fveer/spi/spi-topcl meiveer/"37239 pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (; " cl9;7; 1166ine"90t11_wordeg" class="comment"11_wo>11624widthpch.c4L166" id4L24PCIf=pdevpdev

"%8nt;
master116="chanef">seg->sin>"%7a name=4L73916711_ class="scodn/a>; ">p1169ine"90t11/a>f>pdev

>11_"srefp">seg; sg_for_="+ic/>; sg_for_="+ic/"37239
pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (pa hrTO_DEVIClass="line" maska hrTO_DEVIClin>"%8nt;masterpdtv

&f="ddmpdev&/a>
seg1174BRPC-pch.c#L175" class="lip/f>pdtv

&f="ddmpdev&/a>
segmaster11 t"s/spire3L175" class="lipomr.c>&qf="ddmpdev&/a> } -t;117wd=3L254" cla pdevpdtv

&/a>
11 t"clear_fifoL175" class="liprivers/spi/spi-topcl me=3L179"37239 pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (sedown SSN low - wrip">segt;mastermaster11 t"sesclr_re3L175" class="lipsn_lock_irqsav3ers/srivers/spi/spi-topcl me=3L179"37239 locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8e;
segmaster->segpch_spclearlass="line" name=4L186"48refe=x_epid=flagcers/ref>plasssSNXCRe" name=4L186"4lasssSNXCRx_epid=flagcers/ref>psSN_LOWe" name=4L186"4sSN_LOWin>"%8e; segmaster118p_seama>; pdevmasterpdevmaster118t"s/spire3L175" class="lipomsmee" n_unlock_irqrestor3ers/srivers/spi/spi-topcl me=3L179"37239 locke" n,-" class="line" flagcpch.c4L166" id=flagcers/ref>pdev

"%8" name=4e8>segmaster -t;
118Tid; ; 1184ine"90t11 >I_CPHAcli 9;s 86" inform57"on pi/se=3et1pi-tofer comples/ strse82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1185ine"90t11L164" id=4Lvers/spi/spi-11L16>118t"clear_fifoL175" class="liprs/spi/spi-tolock3L179"37239locke" n,-" clapi-tofer_comples/spi/spi-toearampi-tofer_comples/in>&/a> ">p1187ine"90t11L164" id=4Lvers/spi/spi-11L16>118179"3ot;%8nt;master11_ classtatic void/ ; &qot;%8nt;master->>11_"sref">ser" cl9;7; 119line"90t11_pe+codEINVATEL" class="11_pe>11_pd">I_CPHAcli/a>; , &q/* segmaster11_f-pch.c3L24rxinpch_spi_supeg(struot;%8" name=4e8>segmaster 8aa> &am> &, (<11119Tid; ; 1194ine"90t11 >>11_od">I_CPHAcli &qid=flagcers/ref>pworkp >"%8" name=4e8>segmaster pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (mastermaster11_="chanef">seg175" class="lipsn_lock_is/srivers/spi/spi-topcl "37239 locke" n,-" class="line" flagcpch.c4L166" quot;%8nt;master11_ class="scodn 9;s 86" inform57"on pi/scheck5>-&suspend has been initiated;>-&yes stush queut 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1199ine"90t11/a>+codEINVATEL" class="11/a>>11_"srefp">seg; pdevpch_spi_supeg&qf="ddmpdevI_||=b/a>; pdevser" cl9;7; 129line"90t129lincodEINVATEL" class="129li>120psrefp">seg pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (, sequeut->master120f-pch.c3L24rx_sbuf hr; pch_spclearlasqueutpi/spi-toff t;pdev&cf=pdevser" cl9;7; 1293ine"90t129/a!> 8aa> &am> &, (<129/a>120" gme=3L179"3723911111111 pdevsegmaster>120topclot;%8s>} ; pdev&/!==0qp">ser" cl9;7; 11111111 locke" n,-" class="line" flagcpch.c4L166" quot;%8nt;master129="chanef">seg->L166" id11111111 pdev&b/a>; pdevmaster129 class="scodnpch.c4L1723911111111 locke" n,-" class="line" flagcpch.c4L166" quot;%8nt;master+codEINVATEL" class="129a>>120"srefp">segseg/a>; ">p121line"90t12_per_wordeg" class=ef="d12_pe>121p_seaa>; ">p1211ine"90t12class="comm+codEINVATEL"12cla>1214BRPC-pch.c#L242" id=L166" id=aspf="dfor 3rm57"on pi/sdeles/ srom queut 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1212ine"90t12d">+codEINVATEL" class="12d">>121f-pch.c3L24rx_sbuf hrtttttttt=pdev pdevmaster/a>; ">p1214ine"90t12 >L257"45167>121topclot;%8s>} 8aa> &am> &, (<12ef=>121ock_irqsav3asthpch.c45" class="lipomspi/spi-topor3ers/srivers/spi/spi-top"37239 locke" n,-" class="line" flagcpch.c4L166" quot;%8nt;master12124widthpch.c4L166" idsin>"%7a name=4L73916712_="chanef">seg/a>; ">p1218ine"90t12L705" id=4L+codeidev_id"12L70>12_ clasa>; ">p1219ine"90t12/a>->>121"srefp">seg; segmaster122p_seama>; pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (segmaster12_4BRPC-pch.c#L242" id=waspf="dfor 3L171" i master122f-pchot;%8nt;master -t;12_" gme=3L179"3=aspf="dfor 3rm57"on pi/sGet1phe message srom phe queut andsdeles/ it srom phere. 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc12_4ine"90t12a href="+codc_ntexdcliff12a h>122od">I_CPHAcli pch_spclearlasqueutpi/spi-toff t;pdev&cf/a>; segmasterpdev122ock_irqsav3asthpch.c4L166" id24PCIfasthpch.c45" class="lipomqueutpi/spi-toff t;masterI_CPHAcliff12 hr>12224widot;%8nt;master122="chanef">seg175" class="lipcisv_del_initline" flagcpch.cisv_del_init"37239 pdevmaster122 clasa>; ">p12_9ine"90t12/a>->>122"srefp">seg; pdev123line"90t12 class="com rate=%e\12 cl>123p_seaa>; ">p1231ine"90t12t, pdevpch_spclearlascurr"on_mse /spi-tonumb;pdevmastermaster -t;123wd=3L254" cla locke" n,-" class="line" flagcpch.c4L166" quot;%8nt;masterI_CPOTTTTTT12 hr>12 topclot;%8s>} ; } } 123="chanef">seg->L166" id11111111eg; pdevpdevmaster 8aa> &am> &, (<12L70>123t"sesclr_re3L175" class="liprrs/spmpch_spclearlass="line" name=4L186"48refe=x_epid=flagcers/ref>plasssSNXCRe" name=4L186"4lasssSNXCRx_epid=flagcers/ref>psSN_NO_CONTROLline" flagcpch.sSN_NO_CONTROL66" quot;%8nt;master->>123"srefp">segser" cl9;7; 12_p4widthpch.c4L166" idsn12_4BRPC-pch.c#L242" id=is inepleand;inform riverIf wt art already process1" a message get1phe L"xtinclass="line" 9 #L242" i9f="drivers/spi/spi-topc1242ine"90t12"+code=PCHRSBIT" class="12"+c>12_f-pchis inepleand;inform ri-pch.c#L242" id=pi-tofer /a>; -t;12_" gmeis inepleand;inform ri-pch.c#L242" id=phe 1st1pi-tofer requesv srom phe message. 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1244ine"90t12173" id=3L193" class="li12173>12_topcliff-pch.cDMA_FRO locke" n,-" class="line" flagcpch.c4L166" quot;%8nt;master124ock_irqsav3asthpch.c4ss=b/a>; pdevser" cl9;7; pdev; ser" cl9;7; seg->ttttttttL166" id=pdevpch_spclearlascurr"on_mse /spi-tonumb;pdev&c>ser" cl9;7; 124 class="scodnpch.c4L1111111111111111111111111111/a>; masterf>pdev

>12_"srefp">segseg
href="d4m<_cap_lfvers/spi/spi-topcl me=3L179"37239 pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (seghaspf="dfor 3L171" i se1st1pi-tofer message->master, ser" cl9>; pdev12 " gme=3L179"3723911111111tttttttt=pdevpch_spclearlascur_pi-to /spi-tonumb;locke" n,-" clapi-tofer_lisvers/spi/spi-toppi-tofer_lisv66" .mpdev&c>ser" cl9;7; >12 od">I_CPHAcliff-pch.c4L24PCIffffffffffffffffffff/a>; master12 ock_irqsav3asthpch.c479"37239href="d4m<_cap_lfvers/spi/spi-topcl me=3L179"37239 pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (master12 24widthpch.c4L166" id4L24PCIf79"37239haspf="dfor 3L171" i seL"xt1pi-tofer message->masterI_C12hre>125="chanef">seg->/ot;%8s>} locke" n,-" class="line" flagcpch.c4L166" quot;%8nt;master->>125"srefot;%8nt;master126p4widthpch.c4L166" idss=b!5" class="lipom/s/spi/spi-toff t;pch_spclearlascur_pi-to /spi-tonumb;locke" n,-" clale >} 1264BRPC-pch.c#L242" id=L166" idgoto1; 126f-pch.c3L24rx_sbuf hr href="drivers/con /spi-tonumb;&q ==b/a>; pch_spclearlascur_pi-to /spi-tonumb;locke" n,-" clale >-> fSPSRlear)reBUF_SIZlass="line" maskr)reBUF_SIZl"372 +>1;>ser" cl9;7; 12_3ine"90t12 -t;12_" gme=3L179"37239/a>; pch_spclearlasL179_totalsle >pch_spclearlascur_pi-to /spi-tonumb;locke" n,-" clale >ser" cl9;7; 12_4ine"90t12 href="+cod">I_CPOTTTTTT12 hr>126od">I_CPHAcliff-pch.css=b/a>; pdevser" cl9>; } 12624widthpch.c4L166" id4L24PCIfchar/* pch_spclearlascur_pi-to /spi-tonumb;locke" n,-" clarers/s >seg->ttttttttfor=bpweg" a4L175odeie" name=4L186"4ief="/a>0ud=widthers/ef>pdie" name=4L186"4ief=" &ldd>-> fSPSRleacon /spi-tonumb;&qud=widthers/ef>pdie" name=4L186"4ief=" ++qp">ser" cl9;7; 126 class="scodnpch.c4L1723911111111 pch_spi_supeg(strquot;%8nt;masterf>pdev

>126"srefp">segseg
->ttttss=b!5" class="lipomrrs/spmser" cl9;7; 127line"90t12 class="com rate=%e\12 cl>127cBRPC-pch.c#L242" id=L166" id>seg11111111 locke" n,-" clapi-tofer_comples/spi/spi-toearampi-tofer_comples/in>&/a> segmaster1274BRPC-pch.c#L242" id=L166" id>seg11111111 locke" n,-" clacurr"on_mse /spi-tonumb;pdevsegmaster127f-pch.c3L24rx_sbuf hrtttttttt723911111111=pdevlocke" n,-" clacurr"on_mse /spi-tonumb;pdev&ot;%8" name=4e8>segmaster -t;127" gme=3L179"37239tttttttt723911111111111111111113 pch_spclearlascurr"on_mse /spi-tonumb;pdevmasterI_CPHAcliff-pch.c4L24PCIfffffffffffffffff pch_spclearlasicurr"on_mse&uot;%8s>} 127ock_irqsav3asthpch.c4L166" id24PCIfasthpch.c45" class="lipomrs/spi/spi-toff t;pdevseg segseg->L166" id11111111eg"%8s>} 127 class="scodnpch.c4L1723911111111/ot;%8s>} ->segseg->tttt5" class="lipomrrs/spmpch_spi_supeg(strquot;%8nt;master128cBRPC-pch.c#L242" id=L166" id/ot;%8s>} pch_spclearlascur_pi-to /spi-tonumb;locke" n,-" clarers/s >master128f-pch.c3L24rx_sbuf hr="+codp">ser" cl9>; -t;128" gme=3L179"3723911111111 pch_spi_supeg(strquot;%8nt;masterI_CPHAcliff-pch.c4L24PCIf master128ock_irqsav3asthpch.c479"37239href="d4m<_cap_rrs/spmpch_spi_supeg(strquot;%8nt;masterpdevpch_spclearlaspkt_rers/ss >master128="chanef">seg->L166" id pch_spclearlaspkt_rers/ss > seg128 class="scodnpch.c4L17239=pdevpch_spclearlaspkt_ters/ss >master->>128"srefp">segseghref="d4m<_cap_ls/spi/spi-toff t;pch_spclearlaspkt_ters/ss > seg} , 129f-pch.c3L24rx_sbuf hr href="drivers//s/spi/spi-toff t;pch_spclearlascur_pi-to /spi-tonumb;locke" n,-" clale > pch_spclearlasL179_totalsle >seg 8aa> &am> &, (<12129" gme=3L179"37239/a>; pch_spclearlascurr"on_mse /spi-tonumb;pdevpch_spclearlascur_pi-to /spi-tonumb;locke" n,-" clale >ser" cl9;7; 1294ine"90t12 >>129topclot;%8s>} pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (} ; " cl9;7; 1297ine"90t12L164" id=4Lvers/spi/spi-12L16>129="chanef">seg->L166" id pch_spclearlascurr"on_mse /spi-tonumb;pdevmaster129 clasa>; ">p1299ine"90t12/a>+codEINVATEL" class="12/a>>129"srefp">segseg; pdevser" cl9>; , pch_spclearlass="line" name=4L186"48refe=x_epeed_hzff 8aa> &am> &, (master130f-pch.c3L24rx_sbuf hrL166" idL166" id=aspf="dfor 3L171" i master 8aa> &am> &, (<139/a>130" gme=3L179"3723911111111L166" id=" class="lipomls/spi/spi-to4m; 8aa> &amlay_useco /spi-tonumb;master>130od">I_CPHAcliff-pch.c4L24PCIf pch_spclearlascur_pi-to /spi-tonumb; 8aa> &amlay_useco /spi-tonumb;mastermaster139="chanef">seg->>pch_spclearlasLpi/sck_is/srivers/spi/spi-topcl "37239 locke" n,-" class="line" flagcpch.c4L166" quot;%8nt;master130 clasa>; ">p1399ine"90t139a>+codEINVATEL" class="139a>>130"srefp">seg131psrefp">segpch_spclearlascur_pi-to /spi-tonumb;locke" n,-" clapi-tofer_lisvers/spi/spi-toppi-tofer_lisv66" .mpdev&) =a>ser" cl9;7; 1314BRPC-pch.c#L242" id=L16693 pch_spclearlascurr"on_mse /spi-tonumb;pdevser" cl9;7; 1312ine"90t13d">+codEINVATEL" class="13d">>131f-pch.c3L24rx_sbuf hrtttttttt=pdevmaster/a>; ">p1314ine"90t13 >L257"45167>131topclot;%8s>} 8aa> &am> &, (<13ef=>131ock_irqsav3asthpch.c45" class="lipomspi/spi-topor3ers/srivers/spi/spi-top"37239 locke" n,-" class="line" flagcpch.c4L166" quot;%8nt;master13124widot;%8nt;master13_="chanef">seg/ while=b/a>; pdevmaster13_ clasa>; ">p1319ine"90t13/a>->>131"sref; ">p132line"90t13_per_wordeg+codeidev_id"13_pe>132p_seama>; pch_spclearlass="line" name=4L186"48refe=x_epid=flagcers/ref>plasssSNXCRe" name=4L186"4lasssSNXCRx_epid=flagcers/ref>psSN_HIGHe" name=4L186"4sSN_HIGHef="quot;%8nt;master13_4BRPC-pch.c#Lss=b/a>; pdev} 132f-pch.c3L24rx_sbuf hr href="drivers/rrs/spmmaster -t;13_" gme/a>; ">p13_4ine"90t13a href="+codc_ntexdcliff13a h>132topclot;%8s>} ; pch_spi_supeg&qcot;%8s>} masterI_CPHAcliff13 hr>13224widthpch.c4L166" idL166" id24PCIfasthp/a>; 132="cha">ser" cl9;7; 1328ine"90t13pp 132t"sesclr_re3L175" class="liplfvers/spi/spi-topcl me=3L179"37239 pdev &, (master->>132"srefot;%8nt;master, ; ser" cl9;7; 1332ine"90t13201" id=4L2a37" class="l13201>133f-pch.c3L24rx_sbuf hr href="drivers//eL17oy_workqueut &, (pch_spclearlaswkp >master -t;133" gme=3L179"37239/a>; pch_spclearlaswkp >segI_CPOTTTTTT13 hr>133topcliff-pch.cDMA_FRO pdev &, (seg1336ine"90t13165" id=4L165" class="li13165>13324widthpch.c4L166" idcDMA_FRO master133="chanef">seg/a>; ">p1338ine"90t13L70!> 8aa> &am> &, (<13L70>133t"ses/a>; ">p1339ine"90t13/a>->>133"srefot;%8nt;master13_p4widstatic sn; pch_spi_supeg&qcot;%8s>} master13_4BRPC-pch.c#L242" id==================/a>; 13_f-pch">ser" cl9;7; 1343ine"90t13 -t;134" gme=3L179"3sn0u>ser" cl9;7; 1344ine"90t13173" id=3L193" class="li13173>134topclot;%8s>} 134ock_irqsav3as pdev &, (mastermasterseg 9;s 86" inform57"on pi/screat/ workqueut 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc13_8ine"90t13pp 134t"sesclr_re3L175" class="lipls/spi/spi-toff t;pch_spclearlaswkp >"%8nt;masterf>pdev

>13_"srefp">segpch_spclearlaswkp >ser" cl9;7;
135line"90t13 class="com rate=%e\13 cl>13 cBRPC-pch.c#L242" id= pdev &, (ser" cl9;7; 1351ine"90t13t, pdev

"%8nt;
masterseg13 " gme=3L179"37239goto1; seg>13 od">I_CPHAcli/a>; ">p1355ine"90t13ef="+code=PCH_BRPC-aers/13ef=>13 ock_ia>; ">p1356ine"90t13_wordeg" class="comment"13_wo>13 24widthpch.c4 9;s 86" inform57"on pi/sreset PCH SPI h/w 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1357ine"90t13href="+cod__func__e">I_C13hre>135="chanef">seg href="drivers/rrs/spmpch_spclearlass="line" name=4L186"48refe=x_epquot;%8nt;master pdev &, (master->>135"srefp">segpdev

"%8nt;
master136p_seaa>; ">p1361ine"90t13+codc_complete"rdeg" cla13+co>1364BRPC-pch.c#L175" class="liplfvers/spi/spi-topcl me=3L179"37239 pdev &, (master136f-pchot;%8nt;master -t;13_" gme; ; ">p13_4ine"90t13 href="+cod">I_CPOTTTTTT13 hr>136od">I_CPHAcliss=b/a>; ser" cl9;7; 1365ine"90t13_MABAUDRATEIT" class="sr13_MA>136ock_irqsav3asthpch.c4 pdev &, (ser" cl9;7; 1366ine"90t13_wordeg" class="comment"13_wo>13624widthpch.c4L166" id4L24PCIfhaspf="dfor 3L171" i serrs/spmmaster136="chanef">seg-> master136 class="scodn/a>; ">p1369ine"90t13/a>f>pdev

>136"srefot;%8nt;
master pdev &, (&q="oampd->pdev

&cr href="drivers/retvalpi/spi-toff t;master1374BRPCot;%8nt;
master137f-pch.c3L24rxsin>&qr href="drivers/retvalpi/spi-toff t;master -t;137" gme/a>; ">p1374ine"90t13173" id=3L193" class="li13173>137topclot;%8s>} 137ock_istatic void/ ; pch_spi_supeg&qcot;%8s>} master; ser" cl9;7; 1378ine"90t13pp 137 class="scodn/a>; master->master138p_seama>; pch_spclearlasr.c>master} 138f-pch.c3L24rx_sbuf hr/a>; pdev &, ( 8aa> &r)reBUF_SIZlass="line" maskr)reBUF_SIZl"372cot;%8s>} master -t;138" gme=3L179"3723911111111rx_sbuf hr/a>; masterI_CPHAcliss=b/a>; } 138ock_irqsav3asthpch.c4/a>; pdev &, ( 8aa> &r)reBUF_SIZlass="line" maskr)reBUF_SIZl"372cot;%8s>} master; master138="chanef">segsin>"%8nt;master138t"ses/a>; ">p1389ine"90t13/a>->>138"srefot;%8nt;master; pch_spi_supeg&qcot;%8s>} master, ; 139f-pch">ser" cl9;7; 1393ine"90t13 8aa> &am> &, (<13139" gme=3L179"3/a>; master>139topclot;%8s>} pch_spclearlasr.c>master139="chanef">seg href="drivers/d.c> pdev &, (139 class="scodnpch.c4L1723911111111 master+codEINVATEL" class="13/a>>139"srefp">seg140p_seama>; pdev &, (, master140f-pch/a>; ">p1493ine"90t149/a!> 8aa> &am> &, (<149/a>140" gmea>; ">p1494ine"90t149 >>140od">Istatic snpch_spi_supeg<__="+ini/BRPC- href="drivers/rrs/spm; &, (ef="qot;%8s>} ser" cl9;7; 1496ine"90t149wordeg" cla37" class="l149wo>14024widthpch.c4snmaster149="chanef">seg/a>; &q/* master140 class="scodn/a>; pch_spi_supeg&q/a> 8aa> &am> &, (master+codEINVATEL" class="149a>>140"srefp">seg; master141p_seaa>; ">p1411ine"90t14class="comm+codEINVATEL"14cla>1414BRPC-pch.c#Lhref="d4m<_cap_lfvers/spi/spi-topcl me=3L179"37239 8aa> &am> &, (master+codEINVATEL" class="14d">>141f-pchot;%8nt;master pdev &, (L257"45167>141od">I_CPHAcliff-pch.c4L24PCIfffffffffffsizeof3/a>; master 8aa> &am> &, (<14ef=>141ock_irqsav3asss=b!5" class="lipoms="line" name=4L186"48refe=x_epqp">ser" cl9;7; 14_6ine"90t14_wordeg" class="comment"14_wo>14124widthpch.c4L166" idhref="d4m<_cap_lfveerne" name=4L186"4lfveern"37239 8aa> &am> &, (1417ine"90t14href="+cod_+codeidev_id"14hre>141="chanef">seg->L166" id 8aa> &id &, ("%8nt;master141 class="scodnpch.c4L1sin>&qr-mpdevmaster->>141"srefp">seg; ">p142line"90t14_per_wordeg+codeidev_id"14_pe>142p_seaa>; ">p1421ine"90t14class="communsigned intd14cla>1424BRPC-pch.c#Lhref="d4m<_cap_ls/spi/spi-toff t;ls/s"37235" class="lipoms="line" name=4L186"48refe=x_epquot;%8nt;master142f-pch.c3L24rx pch_spclearlass="line" name=4L186"48refe=x_ep/a> master -t;142" gmea>; ">p14_4ine"90t14a href="+codc_ntexdcliff14a h>1424-pch.c3L24rx masterpdev142ock_ia>; ">p14_6ine"90t14 href="+cod">I_CPHAcliff14 hr>14224widthpch.c4 9;s 86" inform57"on pi/sbaseaddress + address offset) 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc14_7ine"90t14ode=x_epeed_hzer" class=14ode>142="chanef">seg href="drivers/ds/spi/spi-toff t;pch_spclearlasio_base_addr &, ( pdev &, (142 class="scodnpch.c4L1723911111111tL166" id &q/*d 8aa> &id &, (&uot;%8nt;master->>1429"chanef">seg href="drivers/ds/spi/spi-toff t;pch_spclearlasio_remap_addr &, ( pdev &, (&q/*d 8aa> &id &, (&uot;%8nt;master, pch_spclearlasio_remap_addr &, (ser" cl9;7; 1432ine"90t14201" id=4L2a37" class="l14201>143f-pch.c3L24rx_sbuf hr href="drivers//eveerne" name=4L186"4lfveern"37239 8aa> &am> &, (pdev

"%8nt;
master -t;143" gme=3L179"37239/a>; -mpdevmasterI_CPOTTTTTT14 hr>143topcliff-pch.cDMA_FROgoto1; master ">p1436ine"90t14165" id=4L165" class="li14165>14324widot;%8nt;master143="chanef">seg href="drivers/dfvers/spi/spi-topcl me=3L179"37239 8aa> &am> &, (; " cl9;7; 1438ine"90t14L70!> 8aa> &am> &, (<14L70>143 class="scodnpch.c4L1 8aa> &id &, (&cf=pdevpch_spclearlasio_remap_addr &, (master->>143"srefot;%8nt;master144p_seama>; 1444BRPC-pch.c#Lhref="d4m<_cap_s="line" name=4L186"48refe=x_epeed_hzff 8aa> &num_chipselecn /spi-tonumb; master144f-pch.c3L24rx 8aa> &setupers/spi/spi-topsetupx_ep/a> master -t;144" gme=3L179"3 pdev masterpdev master144ock_ia>; ">p14_6ine"90t14165" id=4L165" class="li14165>1446"chanef">seg href="drivers/ds/spi/spi-toff t;pch_spclearlasioardpch_spi_supeg&q/a> masterseg href="drivers/ds/spi/spi-toff t;pch_spclearlasrlat_am> &, (ef="/a> master144t"sesclr_re3L175" class="lipls/spi/spi-toff t;pch_spclearlasn_curnt_chip /spi-tonumb;255uot;%8nt;masterf>pdev

>1449"chanef">seg href="drivers/ds/spi/spi-toff t;
pch_spclearlasstatu/p > master; 8aa> &id &, (&uot;%8nt;master, pdev mastermaster145" gme=3L179"3 master>1454-pch.c3L24rx master145ock_irqsav3as master1456"chanef">seg href="drivers/ini/_waitqueut_head &, ( masterI_C14hre>145="chaot;%8nt;master=pdevmaster->>145"srefp">segser" cl9;7; 146line"90t14_per_wordeg" class=a>146cBRPC-pch.c#L242" id= 8aa> &am> &, (master1464BRPC-pch.c#LLLLLLLLLgoto1; master146f-pch.c3L24rx/a>; ">p14_3ine"90t14 -t;146" gmea>; ">p14_4ine"90t14 href="+cod">I_CPOTTTTTT14 hr>1464-pch.c3L24rx =pdevpdev &, (pdev; ">p14_5ine"90t14_MABAUDRATEIT" class="sr14_MA>146ock_irqsav3asthpch.c4#L242" id= pdev&cL175" class="lipls/spi/spi-toff t;master14624widthpch.c4ss=b175" class="lipretpi/spi-toff t;ser" cl9;7; 1467ine"90t14href="+cod__func__eTTTTT14hre>146="chanef">seg-> 8aa> &am> &, (ser" cl9;7; 1468ine"90t14pp 146 class="scodnpch.c4L17239=aspf="dfor 3L171" i pdev

"%8nt;masterf>pdev

>146"srefp">segmaster ">p1471ine"90t14+codc_compl rate=%e\14+co>1474BRPC-pch.c#Lhref="d4m<_cap_ls/spi/spi-toff t;
pdev=pdevmaster147f-pchot;%8nt;master -t;147" gme=3L179"3 master147ock_irqsav3as =pdevmasterser" cl9;7; 1477ine"90t14L705" id=4L237" class="l14L70>147="chanef">seg-> 8aa> &am> &, (ser" cl9;7; 1478ine"90t14pp 147 class="scodnpch.c4L17239=aspf="dfor 3L171" i master->segmaster148p_seama>; ; ">p1481ine"90t14class="comme37" class="l14cla>1484BRPCot;%8nt;master148f-pch.c3L24rxss=b175" class="lipuse_r.c>ser" cl9;7; 1483ine"90t14 -t;148" gme=3L179"37239 8aa> &am> &, (mastermaster148ock_irqsav3as/a>; ">p1486ine"90t14165" id=4L165" class="li14165>14824widot;%8nt;master148="chanef">segsin>&q>0u>ser" cl9;7; 1488ine"90t143L187" class="line" name143L1>148t"ses>ser" cl9;7; 1489ine"90t14/a>->>148"sref; ; ">p149line"90t14_pe+codEINVATEL" class="14_pe>149p_seama>; pdev &, (pdevpch_spi_supeg&qquot;%8nt;master, ; ">p1492ine"90t14_woL257"45167149f-pch.c3L24rx master 8aa> &am> &, (<14149" gme; ; ">p1494ine"90t14 >>1494-pch.c3L24rx pdev &, (pch_spclearlasio_remap_addr &, (master ">p1496ine"90t14_wordeg" cla37" class="l14_wo>1496"chanef">seg href="drivers/spmpch_spi_supegmaster149="chaot;%8nt;master149 class="scodnsin>&qr href="drivers/retpi/spi-toff t;master+codEINVATEL" class="14/a>>149"sref/a>; ">p159line"90t159lincodEINVATEL" class="159li>150p_seaa>; ">p1591ine"90t159, pdev; &, (ef="qot;%8s>} 150f-pch">ser" cl9;7; 1593ine"90t159/a!> 8aa> &am> &, (<159/a>150" gme=3L179"3/a>; pch_spi_supeg&q/a> 8aa> &am> &, (master>1504 gme=3L179"3/a>; ls/spi/spi-toff t;ls/s"37235" class="lipomrlat_am> &, (ef="quot;%8nt;masterpch_spi_supegmastermaster150="chaot;%8nt;master150t"sesclr_re3L175" class="liplfvers/spi/spi-topcl me=3L179"37239 8aa> &am> &, (master+codEINVATEL" class="159a>>150"srefp">seg &, (ef="eed_hzff 8aa> &id &, (&cf=pdevpch_spi_supeg&qf="ddmpdev &, (master151p_seaa>; ">p1511ine"90t15class="comm+codEINVATEL"15cla>1514BRPC-pch.c#Lss=b175" class="lipuse_r.c>; ">p1512ine"90t15d">+codEINVATEL" class="15d">>151f-pch.c3L24rx_sbuf hr href="drivers/prs/fre/master; ">p1514ine"90t15 >L257"45167>151od">I_CPHAclih9;s 86" inform57"on pi/scheck for=any pend">semessage/; no action is takenLss=the queut"3class="line" 9 #L242" i9f="drivers/spi/spi-topc1515ine"90t15ef=!> 8aa> &am> &, (<15ef=>151ock_ih9;s 86" inform57"on px_sbuf hr* is still full; but at leref we 171ed. Unload=anyway 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc15_6ine"90t15_wordeg" class="comment"15_wo>1516"chanef">seg href="drivers/coun/>pch_spi_supeg50puot;%8nt;master151="chanef">seg href="drivers/si-topcl _irqsavt &, ( master151t"sesclr_re3L175" class="lipls/spi/spi-toff t;pch_spclearlasstatu/p > master->>151"srefp">seg 9 --mpdevpch_spi_supegser" cl9;7; 152line"90t15_per_wordeg+codeidev_id"15_pe>152cBRPC-pch.c#L242" id= pdev &, (master1524BRPC-pch.c#LLLLLLLLLMASK_RFI master152f-pch.c3L24rx_sbuf hr href="drivers/si-tounpcl _irqrestort &, ( master -t;152" gme=3L179"37239 master masterpdev152ock_irqsav3as/a>; ">p15_6ine"90t15 href="+cod">I_CPHAcliff15 hr>1526"chanef">seg href="drivers/spmtounpcl _irqrestort &, ( master152="chaot;%8nt;master152t"sesclr_re3L175" class="lippcs/spmmaster->>152"srefp">seg fre/ IRQ 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc153line"90t15 class="com rate=%e\15 cl>153cBRPC-pch.c#Lss=b/a>; ser" cl9;7; 1531ine"90t15t, pch_spclearlass="line" name=4L186"48refe=x_ep"9hff 8aa> &r)reSPCRass="line" maskr)reSPCRx_ep"90"9hff 8aa> &r)reALLline" flagcpch.r)reALLef="quot;%8nt;master -t;153" gme=3L179"37239/a>; =pdevmasterI_CPOTTTTTT15 hr>153topcliff-pch.cDMA_FRO=pdevpdev &, (pdevmaster ">p1536ine"90t15165" id=4L165" class="li15165>15324widot;%8nt;master153="chanef">seg href="drivers/rcipdev &, (pch_spclearlasio_remap_addr &, (master 8aa> &am> &, (<15L70>153t"sesclr_re3L175" class="lipspmpch_spclearlass="line" name=4L186"48refe=x_epquot;%8nt;master->>1539"chanef">seg href="drivers/spmpch_spi_supegpch_spclearlass="line" name=4L186"48refe=x_epquot;%8nt;master154p_seama>; master1544BRPCot;%8nt;master154f-pch.c3L24rxsin>&q>0u>ser" cl9;7; 1543ine"90t15 -t;154" gme/a>; ">p1544ine"90t15173" id=3L193" class="li15173>1544-pch#ifdefL175" class="lipCONFIG_PM &, (master154ock_istatic sn; &, (ef="cot;%8nt;masterseggggggggggggggggggggggg pch_spclearlasstatt &, (; ">p1547ine"90t15L705" id=4L237" class="l15L70>154="cha">ser" cl9;7; 1548ine"90t15pp 154t"sesclr_re3L175" class="lipu8 &, (pch_spclearlascoun/>pch_spi_supegmasterf>pdev

>154"srefp">seg;
pch_spi_supeg&q/a> 8aa> &am> &, (master&q/* master, master 8aa> &am> &, (pdev

"%8nt;
master155" gmea>; ">p1554ine"90t15 >>1554-pch.c3L24rxss=b!5" class="lipomioardpch_spi_supeg&qqp">ser" cl9;7; 1555ine"90t15ef="+code=PCH_BRPC-aers/15ef=>155ock_irqsav3asthpch.c4 8aa> &am> &, (ser" cl9;7; 1556ine"90t15_wordeg" class="comment"15_wo>1556"chanef">seggggggggggggggggg=aspf="dfor 3L171" i ls/sxsin>&qed NULL->pdev

"%8nt;
masterI_C15hre>155="chanef">seg->sin>&qr-mpdevmaster; ">p1559ine"90t15/a>->>155"srefot;%8nt;master156p_seama>; 1564BRPCh9;s 86" inform57"on px_sbuf hr Only aflin thats done=the ti-tofer will be suspended 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc15_2ine"90t15"+code=PCHRSBIT" class="15"+c>156f-pch.c3L24rx 255uot;%8nt;master -t;156" gme=3L179"3while (3--mpdev
pch_spi_supegser" cl9;7; 15_4ine"90t15 href="+cod">I_CPOTTTTTT15 hr>156topcliff-pch.cDMA_FROss=b!35" class="lipomrs/spi/spi-toff t;pch_spclearlasbcurr"on_msg; ">p15_5ine"90t15_MABAUDRATEIT" class="sr15_MA>156ock_irqsav3asthpch.c4#L242" ibreakuot;%8nt;master1566"chanef">seggggggggg master156="chanef">seg/a>; ">p1568ine"90t15pp 156t"ses>ser" cl9;7; 1569ine"90t15/a>f>pdev

>156"srefp">seg157cBRPC-pch.c#Lss=b/a>;
ser" cl9;7; 1571ine"90t15+codc_compl rate=%e\15+co>1574BRPC-pch.c#LLLLLLLLL 9;s 86" inform57"on pi/sdisable all interruptsp82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1572ine"90t15_wordeg" class="comment"15_wo>157f-pch.c3L24rx_sbuf hr href="drivers/pcs/spmpch_spclearlass="line" name=4L186"48refe=x_ep"9hff 8aa> &r)reSPCRass="line" maskr)reSPCRx_ep"90"9hff 8aa> &r)reALLline" flagcpch.r)reALLef="quot;%8nt;master -t;157" gme=3L179"37239/a>; pch_spclearlass="line" name=4L186"48refe=x_epquot;%8nt;masterpdev &, (pdevmaster157ock_ia>; ">p1576ine"90t15165" id=4L165" class="li15165>1576"chanef">seggggggggg =pdevmasterseg-> 8aa> &am> &, (master157 class="scodnpch.c4L17239=aspf="dfor 3L171" i pdev

"%8nt;master->seg; ">p158line"90t15_per_wordeg" class=odEIO15_pe>158p_seaa>; ">p1581ine"90t15class="comme37" class="l15cla>1584BRPC-pch.c#Lsin>&q>0u>ser" cl9;7; 1582ine"90t15_wordeg" class="comment"15_wo>158f-pch/a>; ">p1583ine"90t15 -t;158" gmea>; ">p1584ine"90t15 >; &, (ef="qa>; ">p1585ine"90t15L164" id=4Lvers/spi/spi-15L16>158ock_i">ser" cl9;7; 1586ine"90t15165" id=4L165" class="li15165>1586"chanef">seg/a>; pch_spi_supeg&q/a> 8aa> &am> &, (master158="chanef">seg/a>; ls/spi/spi-toff t;ls/s"37235" class="lipomrd_am> &, (ef="quot;%8nt;master158 class="scodnsnmaster->>158"srefot;%8nt;masterser" cl9;7; 1591ine"90t15t, 8aa> &am> &, (ser" cl9;7; 1592ine"90t15_woL257"45167159f-pch.c3L24rx_sbuf hr7239=aspf="dfor 3L171" i ls/sxsin>&qed NULL->pdev

"%8nt;
master 8aa> &am> &, (<15159" gme=3L179"37239sin>&qr-mpdevmaster>1594-pch.c3L24rx/a>; ">p15_5ine"90t15_MABAUDRATEIT" class="sr15_MA>159ock_ia>; ">p1596ine"90t15_wordeg" cla37" class="l15_wo>1596"chanef">segss=b!5" class="lipomls/spi/spi-toff t;pdevser" cl9;7; 1597ine"90t15L164" id=4Lvers/spi/spi-15L16>159="chanef">seg-> 9;s 86" inform57"on pi/sregi"lin IRQ 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1598ine"90t15pp 159 class="scodnpch.c4L1 href="drivers/retval &, (=pdevpdev &, (pdev; ">p1599ine"90t15/a>+codEINVATEL" class="15/a>>159"srefp">seg=pdevpdev&cL175" class="lipls/spi/spi-toff t;masterser" cl9;7; 1691ine"90t169, 8aa> &am> &, (ser" cl9;7; 1692ine"90t169woL257"45167160f-pch.c3L24rx_sbuf hr7239-> 9;s 86" infoL171" i pdev

"%8nt;master 8aa> &am> &, (<169/a>160" gme=3L179"37239>>>>>>>>sin>&qr href="drivers/retval &, (master>160topcliff-pch.cDMA_FRO/a>; ">p1695ine"90t169MABAUDRATEIT" class="sr169MA>160ock_ia>; ">p1696ine"90t169wordeg" cla37" class="l169wo>1606"chanef">seggggggggg 9;s 86" inform57"on pi/sreset PCH SPI h/w 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1697ine"90t169164" id=4Lvers/spi/spi-16916>160="chanef">seg-> pch_spclearlass="line" name=4L186"48refe=x_epquot;%8nt;master160 class="scodnpch.c4L1 href="drivers/pcs/spmpch_spclearlass="line" name=4L186"48refe=x_epquot;%8nt;master+codEINVATEL" class="169a>>160"srefp">seg=pdevmaster161p_seama>; ; ">p1611ine"90t16class="comm+codEINVATEL"16cla>1614BRPC-pch.c#Lsin>&q>0u>ser" cl9;7; 1612ine"90t16d">+codEINVATEL" class="16d">>161f-pch/a>; ">p1613ine"90t16; ">p1614ine"90t16 >L257"45167>161od">I#def7; ">p1615ine"90t16ef=!> 8aa> &am> &, (<16ef=>161ock_i#def7; ">p1616ine"90t16_wordeg" class="comment"16_wo>1616"cha#end"fa>; ">p1617ine"90t16href="+cod_+codeidev_id"16hre>161="chaot;%8nt;master161t"sesstatic /a>; ">ser" cl9;7; 1619ine"90t16/a>->>161"srefp">seg">ser" cl9;7; 162line"90t16_per_wordeg+codeidev_id"16_pe>162cBRPC-pch.c#L242" id=. =9;s 86" infoL171" i master1624BRPC-pch.c#LLLLLLLLL. =pdevser" cl9;7; 16_2ine"90t16"+code=PCHRSBIT" class="16"+c>162f-pch.c3L24rx}">ser" cl9;7; 16_3ine"90t16 -t;162" gme=3L179"3. ser" cl9;7; 16_4ine"90t16a href="+codc_ntexdcliff16a h>162topcliff-pch.. ser" cl9;7; 16_5ine"90t16ef="+code=Pelsef>pdev162ock_irqsav3as. ser" cl9;7; 16_6ine"90t16 href="+cod">I_CPHAcliff16 hr>1626"chanef">seg. ser" cl9;7; 16_7ine"90t16ode=x_epeed_hzer" class=16ode>162="cha}u>ser" cl9;7; 16_8ine"90t16pp 162t"ses>ser" cl9;7; 1629ine"90t16/a>->>162"srefstatic snpch_spi_supeg<__="+ini/"372L175" class="liprrs/spm; &, (163line"90t16 class="com rate=%e\16 cl>163cBRPC-pch.c#L242" id====================constg/a>; &qa>; ">p1631ine"90t16t, ser" cl9;7; 1632ine"90t16201" id=4L2a37" class="l16201>163f-pch.c3L24rx/a>; pch_spi_supeg&qu>ser" cl9;7; 1633ine"90t16 -t;163" gme=3L179"3/a>; &, (ef="La> ser" cl9;7; 1634ine"90t16 href="+cod">I_CPOTTTTTT16 hr>163topcliff-pch.snmastermasterseg/a>; _savt &, (_savtn>"%8nt;master163="chaot;%8nt;master 8aa> &am> &, (<16L70>163t"sesclr_re3L175" class="liprd_am>_savt &, (_savtn>&qLa> _savt &, (_savtn>&q)cd master->>1639"chanef">segss=b!5" class="lipomrd_am>_savt &, (_savtn>&qqp">ser" cl9;7; 164line"90t16_per_wordegunsigned long16_pe>164cBRPC-pch.c#L242" id= 8aa> &am> &, (_sav->pdev

"%8nt;
master1644BRPC-pch.c#LLLLLLLLLsin>&qr-mpdev"%8nt;master164f-pch.c3L24rx/a>; ">p1643ine"90t16 -t;164" gmea>; ">p1644ine"90t16173" id=3L193" class="li16173>1644-pch.c3L24rx ; master1645"chanef">segss=b!5" class="lipomioardpch_spi_supeg&qqp">ser" cl9;7; 1646ine"90t16165" id=4L165" class="li16165>1646"chanef">seggggggggg 8aa> &am> &, (pdev

"%8nt;
masterseg-> -mpdev"%8nt;master164 class="scodnpch.c4L1gotot masterf>pdev

>164"srefp">seg;
">p165line"90t16 class="com rate=%e\16 cl>165p_seaa>; ">p1651ine"90t16t, =pdevpdev"%8nt;masterser" cl9;7; 1653ine"90t16165" gme=3L179"37239/a>; 8aa> &am> &, (pdev

"%8nt;
master>165topcliff-pch.cDMA_FROgotot master165ock_irqsav3as/a>; ">p1656ine"90t16_wordeg" class="comment"16_wo>16524widot;%8nt;masterI_C16hre>165="chanef">seg href="drivers/ioardpch_spi_supeg&qf="ddmpdev &, (masterpdev=pdev&eed_hzff 8aa> &a;master->>1659"chanef">seg href="drivers/rd_am>_savt &, (_savtn>&qf="ddmpdev=pdev&eed_hzff 8aa> &a;master166p_seama>; pdevpch_spi_supeg&q/a> 1661ine"90t16+codc_complete"rdeg" cla16+co>1664BRPCot;%8nt;master166f-pch.c3L24rx =pdevmaster -t;166" gme=3L179"3ss=b175" class="lipretval &, (ser" cl9;7; 16_4ine"90t16 href="+cod">I_CPOTTTTTT16 hr>166topcliff-pch.cDMA_FRO/a>; 8aa> &am> &, (mastermaster1666"chanef">seg/a>; ">p1667ine"90t16href="+cod__func__eTTTTT16hre>166="chaot;%8nt;master166t"sesclr_re3Lfor=b175" class="lipi &, (0;a href="drivers/i &, (pdevser" cl9;7; 16_9ine"90t16/a>f>pdev

>166"srefp">seg
masterser" cl9;7; 1671ine"90t16+codc_compl rate=%e\16+co>1674BRPC-pch.c#LLLLLLLLLcDMA_FRO/a>; 8aa> &am> &, (master167f-pch.c3L24rx_sbuf hrthpch.c4gotot master -t;167" gme=3L179"37239/a>; ">p1674ine"90t16173" id=3L193" class="li16173>167topcliff-pch.cDMA_FRO=pdev_savt &, (_savtn>&qf="ddmpdev&q[ href="drivers/i &, (=pdev &, (ef="uot;%8nt;master167ock_irqsav3asthpch.c4 8aa> &am> &, ( &, (mastermasterseg-> =pdevmaster167 class="scodnpch.c4L17239>>>>>>>>>>>>>>>>>>>>>>>>>>/izeof3* master->segser" cl9;7; 168line"90t16_per_wordeg" class=odEIO16_pe>168cBRPC-pch.c#L242" id=========/a>; 8aa> &am> &, (ser" cl9;7; 1681ine"90t16class="comme37" class="l16cla>1684BRPC-pch.c#LLLLLLLLLcDMA_FRO========/aspf="dfor 3L171" i master168f-pch.c3L24rx_sbuf hr7239=pdevpch_spi_supegmaster -t;168" gme=3L179"37239>>>>>>>>gotot master ">p1685ine"90t16L164" id=4Lvers/spi/spi-16L16>168ock_ia>; ">p1686ine"90t16165" id=4L165" class="li16165>1686"chanef">seggggggggg =pdevmaster168="chanef">seg->ss=b175" class="lipretval &, (ser" cl9;7; 1688ine"90t163L187" class="line" name163L1>168 class="scodnpch.c4L17239=a>; 8aa> &am> &, (master->>168"srefp">segpdevpch_spi_supegmastermaster, ">p1692ine"90t16_woL257"45167169f-pch.c3L24rx/a>; ">p1693ine"90t16 8aa> &am> &, (<16169" gmea>; ">p1694ine"90t16 >>1694-pch.c3L24rx pdev_savt &, (_savtn>&qquot;%8nt;master ">p1696ine"90t16_wordeg" cla37" class="l16_wo>1696"chanef">segsin>&q>0u>ser" cl9;7; 1697ine"90t16L164" id=4Lvers/spi/spi-16L16>169="chaot;%8nt;master169 clas master+codEINVATEL" class="16/a>>1699"chanef">seg href="drivers/rri_=isable_="+ict &, (mastermaster, master170f-pch master 8aa> &am> &, (<179/a>170" gme=3L179"3 master>170topcl mastermastermaster170="chanef">segsin>&qr href="drivers/retval &, (master170 clas/a>; ">p1799ine"90t179a>+codEINVATEL" class="179a>>170"srefot;%8nt;master171p_seastatic void> ; &, ( ">p1711ine"90t17class="comm+codEINVATEL"17cla>1714BRPC">ser" cl9;7; 1712ine"90t17d">+codEINVATEL" class="17d">>171f-pch.c3L24rxsnmaster; _savt &, (_savtn>&q/a>=pdevls/spi/spi-toff t;ls/s"37235" class="lipomram> &, (masterL257"45167>171od">Iot;%8nt;master 8aa> &am> &, (<17ef=>1715 gme=3L179"3 8aa> &am> &, (master17124widot;%8nt;master171="chanef">segfor=b175" class="lipi &, (0;a href="drivers/i &, (pdevmaster171 class="scodnpch.c4L1 href="drivers/platform_="+ict_unregi"lin>pch_spi_supegpdev&q[ href="drivers/i &, (master->>171"srefot;%8nt;master172p_seama>; master1721-pch.c3L24rx master172f-pch.c3L24rx pdevpch_spi_supeg&qquot;%8nt;master -t;172" gme=3L179"3 master ">p17_5ine"90t17ef="+code=Pelsef>pdev172ock_ia>; ">p17_6ine"90t17 href="+cod">I_CPHAcliff17 hr>1726"cha#ifdef3 ">p17_7ine"90t17ode=x_epeed_hzer" class=17ode>172="chastatic sn; &, (pch_spi_supeg ">p17_8ine"90t17pp 172t"ses">ser" cl9;7; 1729ine"90t17/a>->>1729"chanef">segsnmaster_savt &, (_savtn>&q/* master, master 8aa> &am> &, (pdev

"%8nt;
master -t;173" gmea>; ">p1734ine"90t17 href="+cod">I_CPOTTTTTT17 hr>1734-pch.c3L24rx pdevpch_spi_supeg&qf="ddmpdev&q/a>=pdevmaster ">p1736ine"90t17165" id=4L165" class="li17165>1736"chanef">seg 9;s 86" inform57"on pi/ssavt=config 9;sce 82" class="line" 9 #L242" i9f="drivers/spi/spi-topc1737ine"90t17hreL257"45Entdev_id" cla17hre>173="chanef">seg href="drivers/retval &, (=pdevmaster 8aa> &am> &, (<17L70>173t"sesclr_re3Lss=b175" class="lipretval &, (ser" cl9;7; 1739ine"90t17/a>->>173"srefp">segpdevpch_spi_supegmaster174cBRPC-pch.c#L242" id= master1744BRPC-pch.c#LLLLLLLLL pdevpch_spi_supegmaster174f-pch.c3L24rx/ elsep">ser" cl9;7; 1743ine"90t17 -t;174" gme=3L179"37239/a>; 8aa> &am> &, (pdev

"%8nt;
master ">p1745ine"90t17L164" id=4Lvers/spi/spi-17L16>174ock_ia>; ">p1746ine"90t17165" id=4L165" class="li17165>1746"chanef">segsin>&q> href="drivers/retval &, (master; ">p1748ine"90t17pp 174t"ses>ser" cl9;7; 1749ine"90t17/a>f>pdev

>174"srefstatic sn
; &, ( ">p175line"90t17 class="com rate=%e\17 cl>175p_sea">ser" cl9;7; 1751ine"90t17t, master_savt &, (_savtn>&q/* master175" gme=3L179"3 8aa> &am> &, (pdev

"%8nt;
master>175od">Iot;%8nt;master1755 gme=3L179"3 pdev"%8nt;master1756 gme=3L179"3 masterI_C17hre>175="chaot;%8nt;master=pdevmaster->>1759"chanef">segss=b175" class="lipretval &, (ser" cl9;7; 176line"90t17_per_wordeg" class=a>176cBRPC-pch.c#L242" id= 8aa> &am> &, (ser" cl9;7; 1761ine"90t17+codc_complete"rdeg" cla17+co>1764BRPC-pch.c#LLLLLLLLLcDMA_FRO/aspf="dfor 3L171" i master176f-pch.c3L24rx/ elsep">ser" cl9;7; 17_3ine"90t17 -t;176" gme=3L179"37239/a>; pdevpch_spi_supegmasterI_CPOTTTTTT17 hr>176od">Iot;%8nt;master1766"chanef">seg7239/a>; pdevpch_spi_supeg&qf="ddmpdev&q/a>=pdevmaster176="chanef">seg/a>; ">p1768ine"90t17pp 176t"ses>ser" cl9;7; 17_9ine"90t17/a>f>pdev

>176"srefp">seg&q> href="drivers/retval &, (
master ">p1771ine"90t17+codc_compl rate=%e\17+co>1774BRPC#elsea>; ">p1772ine"90t17_wordeg" class="comment"17_wo>177f-pch#def7 ; ">p1773ine"90t17 -t;177" gme#def7 ; ">p1774ine"90t17173" id=3L193" class="li17173>177od">Iot;%8nt;master177ock_i#end"fa>; ">p1776ine"90t17165" id=4L165" class="li17165>17724widot;%8nt;master; ser" cl9;7; 1778ine"90t17pp 177 class="scodn. =9;s 86" infoL171" i master->seg=pdevser" cl9;7; 178line"90t17_per_wordeg" class=odEIO17_pe>178cBRPC-pch.c#L. ser" cl9;7; 1781ine"90t17class="comme37" class="l17cla>1784BRPC-pch.c#L. ser" cl9;7; 1782ine"90t17_wordeg" class="comment"17_wo>178f-pch.c3L24rx. ser" cl9;7; 1783ine"90t17 -t;178" gme=3L179"3. ser" cl9;7; 1784ine"90t17 >1785ine"90t17L164" id=4Lvers/spi/spi-17L16>178ock_ia>; ">p1786ine"90t17165" id=4L165" class="li17165>1786"chastatic sn; ">p1787ine"90t17L164" id=4Lvers/spi/spi-17L16>178="cha">ser" cl9;7; 1788ine"90t173L187" class="line" name173L1>178 class="scodnsnmaster->>1789"chanef">seg href="drivers/ret &, (=pdevpch_spi_supeg master; ">p1791ine"90t17t, master179f-pchot;%8nt;master 8aa> &am> &, (<17179" gme=3L179"3 =pdev master>1794-pch.c3L24rxss=b175" class="lipret &, (; ">p1795ine"90t17_MABAUDRATEIT" class="sr17_MA>179ock_irqsav3asthpch.c4sin>&q> href="drivers/ret &, (mastermaster179="chanef">segsin>&qr0u>ser" cl9;7; 1798ine"90t17pp 179 clas/a>; ">p1799ine"90t17/a>+codEINVATEL" class="17/a>>1799"cha href="drivers/modulepch_spi_supegmaster ">p1891ine"90t189, ; ">p1892ine"90t189woL257"45167180f-pch">ser" cl9;7; 1893ine"90t189/a!> 8aa> &am> &, (<189/a>180" gme=3L179"3 master>1804-pch.c3L24rx pch_spi_supeg master ">p1896ine"90t189wordeg" cla37" class="l189wo>18024wid href="drivers/modulemaster180="chaot;%8nt;master180 clas master+codEINVATEL" class="189a>>1809"cha href="drivers/MODULE_PARM_DESCpi/spi-toff t;master181cBRPC-pch.c#L242" id===9;s 86" infoL171" i master1814BRPCot;%8nt;master+codEINVATEL" class="18d">>181f-pch mastermasterL257"45167>181od">I
> The original LXR software by th/a href="drhttp://sourceforge.net/projects/lxn>>LXR rm57uni/ycodpcfthis experi7"onal a hrion by href="drmailto:lxn@67lxn@67 > lxn.67Redpill L7