Rev 1692 | Rev 2968 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1692 | Rev 1695 | ||
---|---|---|---|
Line 46... | Line 46... | ||
46 | int CurrentPowerState; |
46 | int CurrentPowerState; |
Line 47... | Line 47... | ||
47 | 47 | ||
Line 48... | Line 48... | ||
48 | addr_t buffer; |
48 | addr_t buffer; |
- | 49 | addr_t buffer_dma; |
|
49 | addr_t prd_dma; |
50 | addr_t prd_dma; |
Line 50... | Line 51... | ||
50 | 51 | ||
51 | addr_t irq_line; |
52 | addr_t irq_line; |
Line 243... | Line 244... | ||
243 | 244 | ||
Line 244... | Line 245... | ||
244 | addr_t buffer = geode.buffer; |
245 | addr_t buffer = geode.buffer; |
245 | addr_t dma = GetPgAddr(geode.buffer); |
246 | addr_t dma = GetPgAddr(geode.buffer); |
- | 247 | geode.buffer_dma = dma; |
|
Line 246... | Line 248... | ||
246 | 248 | ||
Line 247... | Line 249... | ||
247 | geode.prd_dma = (((addr_t)prd_tab) & 4095) + GetPgAddr((void*)prd_tab); |
249 | geode.prd_dma = (((addr_t)prd_tab) & 4095) + GetPgAddr((void*)prd_tab); |
248 | 250 | ||
Line 476... | Line 478... | ||
476 | return 0; |
478 | return 0; |
477 | } |
479 | } |
478 | 480 | ||
479 | if( FindPciDevice() == FALSE) |
481 | printf("AMD Geode CS5536 audio driver\n"); |
Line -... | Line 482... | ||
- | 482 | ||
- | 483 | if( FindPciDevice() == FALSE) |
|
480 | { |
484 | { |
481 | dbgprintf("Device not found\n"); |
485 | dbgprintf("Device not found\n"); |
482 | return 0; |
486 | return 0; |
483 | }; |
487 | }; |
484 | 488 | ||
Line 543... | Line 547... | ||
543 | case DEV_GET_POS: |
547 | case DEV_GET_POS: |
Line 544... | Line 548... | ||
544 | if(io->out_size==4) |
548 | if(io->out_size==4) |
545 | { |
549 | { |
546 | *outp = ctrl_read_32(0x60)>>2; |
550 | u32_t dma; |
- | 551 | dma = ctrl_read_32(0x60); |
|
547 | return 0; |
552 | dma-= geode.buffer_dma; |
- | 553 | *outp = (dma & 16383)>>2; |
|
- | 554 | return 0; |
|
548 | } |
555 | } |
549 | break; |
556 | break; |
550 | 557 | ||
Line 551... | Line 558... | ||
551 | default: |
558 | default: |