···293293 desc->control_bits &= ~cpu_to_le32(DMASCR_CHAIN_EN);294294 desc->sem_control_bits = desc->control_bits;295295296296-296296+297297 if (debug & DEBUG_LED_ON_TRANSFER)298298 set_led(card, LED_REMOVE, LED_ON);299299···327327328328static void activate(struct cardinfo *card)329329{330330- /* if No page is Active, and Ready is 330330+ /* if No page is Active, and Ready is331331 * not empty, then switch Ready page332332 * to active and start IO.333333 * Then add any bh's that are available to Ready···366366 spin_unlock_irqrestore(&card->lock, flags);367367}368368369369-/* 369369+/*370370 * If there is room on Ready page, take371371 * one bh off list and add it.372372 * return 1 if there was room, else 0.···467467 if (card->Active < 0)468468 goto out_unlock;469469 page = &card->mm_pages[card->Active];470470-470470+471471 while (page->headcnt < page->cnt) {472472 struct bio *bio = page->bio;473473 struct mm_dma_desc *desc = &page->desc[page->headcnt];···477477478478 if (!(control & DMASCR_DMA_COMPLETE)) {479479 control = dma_status;480480- last=1; 480480+ last=1;481481 }482482 page->headcnt++;483483 idx = page->idx;···487487 page->idx = page->bio->bi_idx;488488 }489489490490- pci_unmap_page(card->dev, desc->data_dma_handle, 490490+ pci_unmap_page(card->dev, desc->data_dma_handle,491491 bio_iovec_idx(bio,idx)->bv_len,492492 (control& DMASCR_TRANSFER_READ) ?493493 PCI_DMA_TODEVICE : PCI_DMA_FROMDEVICE);···592592 else593593 writeb((DMASCR_DMA_COMPLETE|DMASCR_CHAIN_COMPLETE) >> 16,594594 card->csr_remap+ DMA_STATUS_CTRL + 2);595595-595595+596596 /* log errors and clear interrupt status */597597 if (dma_status & DMASCR_ANY_ERR) {598598 unsigned int data_log1, data_log2;···668668669669HW_TRACE(0x36);670670671671- return IRQ_HANDLED; 671671+ return IRQ_HANDLED;672672}673673/*674674-----------------------------------------------------------------------------------···761761{762762 int i;763763764764- for (i = 0; i < num_cards; i++) 764764+ for (i = 0; i < num_cards; i++)765765 if (!(cards[i].flags & UM_FLAG_NO_BATT)) {766766 struct cardinfo *card = &cards[i];767767 spin_lock_bh(&card->lock);···972972 tasklet_init(&card->tasklet, process_page, (unsigned long)card);973973974974 card->check_batteries = 0;975975-975975+976976 mem_present = readb(card->csr_remap + MEMCTRLSTATUS_MEMORY);977977 switch (mem_present) {978978 case MEM_128_MB:···10051005 card->battery[1].good = !(batt_status & BATTERY_2_FAILURE);10061006 card->battery[0].last_change = card->battery[1].last_change = jiffies;1007100710081008- if (card->flags & UM_FLAG_NO_BATT) 10081008+ if (card->flags & UM_FLAG_NO_BATT)10091009 dev_printk(KERN_INFO, &card->dev->dev,10101010 "Size %d KB\n", card->mm_size);10111011 else {
+7-7
drivers/block/umem.h
···8787#define DMASCR_DMA_COMPLETE 0x400008888#define DMASCR_CHAIN_COMPLETE 0x8000089899090-/* 9191-3.SOME PCs HAVE HOST BRIDGES WHICH APPARENTLY DO NOT CORRECTLY HANDLE 9292-READ-LINE (0xE) OR READ-MULTIPLE (0xC) PCI COMMAND CODES DURING DMA 9393-TRANSFERS. IN OTHER SYSTEMS THESE COMMAND CODES WILL CAUSE THE HOST BRIDGE 9494-TO ALLOW LONGER BURSTS DURING DMA READ OPERATIONS. THE UPPER FOUR BITS 9595-(31..28) OF THE DMA CSR HAVE BEEN MADE PROGRAMMABLE, SO THAT EITHER A 0x6, 9696-AN 0xE OR A 0xC CAN BE WRITTEN TO THEM TO SET THE COMMAND CODE USED DURING 9090+/*9191+3.SOME PCs HAVE HOST BRIDGES WHICH APPARENTLY DO NOT CORRECTLY HANDLE9292+READ-LINE (0xE) OR READ-MULTIPLE (0xC) PCI COMMAND CODES DURING DMA9393+TRANSFERS. IN OTHER SYSTEMS THESE COMMAND CODES WILL CAUSE THE HOST BRIDGE9494+TO ALLOW LONGER BURSTS DURING DMA READ OPERATIONS. THE UPPER FOUR BITS9595+(31..28) OF THE DMA CSR HAVE BEEN MADE PROGRAMMABLE, SO THAT EITHER A 0x6,9696+AN 0xE OR A 0xC CAN BE WRITTEN TO THEM TO SET THE COMMAND CODE USED DURING9797DMA READ OPERATIONS.9898*/9999#define DMASCR_READ 0x60000000