Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'firewire-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394

Pull firewire fix from Stefan Richter:
"A regression fix for the IEEE 1394 subsystem: re-enable IRQ-based
asynchronous request reception at addresses below 128 TB"

* tag 'firewire-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
firewire: revert to 4 GB RDMA, fix protocols using Memory Space

+11 -8
+8 -5
Documentation/debugging-via-ohci1394.txt
··· 25 25 With most FireWire controllers, memory access is limited to the low 4 GB 26 26 of physical address space. This can be a problem on IA64 machines where 27 27 memory is located mostly above that limit, but it is rarely a problem on 28 - more common hardware such as x86, x86-64 and PowerPC. However, at least 29 - Agere/LSI FW643e and FW643e2 controllers are known to support access to 30 - physical addresses above 4 GB. 28 + more common hardware such as x86, x86-64 and PowerPC. 29 + 30 + At least LSI FW643e and FW643e2 controllers are known to support access to 31 + physical addresses above 4 GB, but this feature is currently not enabled by 32 + Linux. 31 33 32 34 Together with a early initialization of the OHCI-1394 controller for debugging, 33 35 this facility proved most useful for examining long debugs logs in the printk ··· 103 101 compliant, they are based on TI PCILynx chips and require drivers for Win- 104 102 dows operating systems. 105 103 106 - The mentioned kernel log message contains ">4 GB phys DMA" in case of 107 - OHCI-1394 controllers which support accesses above this limit. 104 + The mentioned kernel log message contains the string "physUB" if the 105 + controller implements a writable Physical Upper Bound register. This is 106 + required for physical DMA above 4 GB (but not utilized by Linux yet). 108 107 109 108 2) Establish a working FireWire cable connection: 110 109
+2 -2
drivers/firewire/core.h
··· 237 237 238 238 #define LOCAL_BUS 0xffc0 239 239 240 - /* arbitrarily chosen maximum range for physical DMA: 128 TB */ 241 - #define FW_MAX_PHYSICAL_RANGE (128ULL << 40) 240 + /* OHCI-1394's default upper bound for physical DMA: 4 GB */ 241 + #define FW_MAX_PHYSICAL_RANGE (1ULL << 32) 242 242 243 243 void fw_core_handle_request(struct fw_card *card, struct fw_packet *request); 244 244 void fw_core_handle_response(struct fw_card *card, struct fw_packet *packet);
+1 -1
drivers/firewire/ohci.c
··· 3716 3716 version >> 16, version & 0xff, ohci->card.index, 3717 3717 ohci->n_ir, ohci->n_it, ohci->quirks, 3718 3718 reg_read(ohci, OHCI1394_PhyUpperBound) ? 3719 - ", >4 GB phys DMA" : ""); 3719 + ", physUB" : ""); 3720 3720 3721 3721 return 0; 3722 3722