Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe0e5c4d947d34f10002b4cf272f0ebf110305b7
Commit:     fe0e5c4d947d34f10002b4cf272f0ebf110305b7
Parent:     192636ad9097b13d58310a6358fd512d3084c09a
Author:     Andrew Morton <[EMAIL PROTECTED]>
AuthorDate: Fri Dec 22 01:11:36 2006 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Fri Dec 22 08:55:51 2006 -0800

    [PATCH] increase CARDBUS_MEM_SIZE
    
    Linus sayeth:
    
    Google knows everything, and finds, on MS own site no less:
    
      "Windows 2000 default resources:
    
       One 4K memory window
    
       One 2 MB memory window
    
       Two 256-byte I/O windows"
    
    which is clearly utterly bogus and insufficient. But Microsoft apparently
    realized this, and:
    
      "Windows XP default resources:
    
       Because one memory window of 4K and one window of 2 MB are not
       sufficient for CardBus controllers in many configurations, Windows XP
       allocates larger memory windows to CardBus controllers where possible.
       However, resource windows are static (that is, the operating system
       does not dynamically allocate larger memory windows if new devices
       appear.) Under Windows XP, CardBus controllers will be assigned the
       following resources:
    
       One 4K memory window, as in Windows 2000
    
       64 MB memory, if that amount of memory is available. If 64 MB is not
       available the controller will receive 32 MB; if 32 MB is not available,
       the controller will receive 16 MB; if 16 MB is not available, the
       bridge will receive 8 MB; and so on down to a minimum assignment of 1
       MB in configurations where memory is too constrained for the operating
       system to provide a larger window.
    
       Two 256-byte I/O windows"
    
    So I think we have our answer. Windows uses one 4k window, and one 64MB
    window. And they are no more dynamic than we are (we _could_ try to do it
    dynamically, but let's face it, it's fairly painful to dynamically expand
    PCI bus resources - you may need to reprogram everything up to the root,
    so it would be absolutely crazy to do that unless you have some serious
    masochistic tendencies).
    
    So let's just increase our default value to 64M too.
    
    Cc: Markus Rechberger <[EMAIL PROTECTED]>
    Cc: Daniel Ritz <[EMAIL PROTECTED]>
    Cc: Dominik Brodowski <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 drivers/pci/setup-bus.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 8f7bcf5..89f3036 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -41,7 +41,7 @@
  * have a P2P bridge below a cardbus bridge, we need 4K.
  */
 #define CARDBUS_IO_SIZE                (256)
-#define CARDBUS_MEM_SIZE       (32*1024*1024)
+#define CARDBUS_MEM_SIZE       (64*1024*1024)
 
 static void __devinit
 pbus_assign_resources_sorted(struct pci_bus *bus)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to