search for: pci_restore_config_space_range

Displaying 9 results from an estimated 9 matches for "pci_restore_config_space_range".

2018 Sep 13
4
[PATCH v3] PCI: Reprogram bridge prefetch registers on resume
...d_val, int retry, bool force) { u32 val; pci_read_config_dword(pdev, offset, &val); - if (val == saved_val) + if (!force && val == saved_val) return; for (;;) { @@ -1313,25 +1313,34 @@ static void pci_restore_config_dword(struct pci_dev *pdev, int offset, } static void pci_restore_config_space_range(struct pci_dev *pdev, - int start, int end, int retry) + int start, int end, int retry, + bool force) { int index; for (index = end; index >= start; index--) pci_restore_config_dword(pdev, 4 * index, pdev->saved_config_space[index], - retry); +...
2018 Sep 12
3
[PATCH v2] PCI: Reprogram bridge prefetch registers on resume
..._config_dword(pdev, offset, &val); + if (val == saved_val) + return; + } for (;;) { pci_dbg(pdev, "restoring config space at offset %#x (was %#x, writing %#x)\n", @@ -1313,25 +1315,34 @@ static void pci_restore_config_dword(struct pci_dev *pdev, int offset, } static void pci_restore_config_space_range(struct pci_dev *pdev, - int start, int end, int retry) + int start, int end, int retry, + bool force) { int index; for (index = end; index >= start; index--) pci_restore_config_dword(pdev, 4 * index, pdev->saved_config_space[index], - retry); +...
2018 Sep 27
2
[PATCH v3] PCI: Reprogram bridge prefetch registers on resume
...al); > > - if (val == saved_val) > > + if (!force && val == saved_val) > > return; > > > > for (;;) { > > @@ -1313,25 +1313,34 @@ static void pci_restore_config_dword(struct pci_dev *pdev, int offset, > > } > > > > static void pci_restore_config_space_range(struct pci_dev *pdev, > > - int start, int end, int retry) > > + int start, int end, int retry, > > + bool force) > > { > > int index; > > > > for (index = end; index >= start; index--) > > pci_restore_config_dword(pd...
2018 Sep 13
0
[PATCH v3] PCI: Reprogram bridge prefetch registers on resume
...ev, offset, &val); > - if (val == saved_val) > + if (!force && val == saved_val) > return; > > for (;;) { > @@ -1313,25 +1313,34 @@ static void pci_restore_config_dword(struct pci_dev *pdev, int offset, > } > > static void pci_restore_config_space_range(struct pci_dev *pdev, > - int start, int end, int retry) > + int start, int end, int retry, > + bool force) > { > int index; > > for (inde...
2018 Sep 18
0
[PATCH v3] PCI: Reprogram bridge prefetch registers on resume
...pci_read_config_dword(pdev, offset, &val); > - if (val == saved_val) > + if (!force && val == saved_val) > return; > > for (;;) { > @@ -1313,25 +1313,34 @@ static void pci_restore_config_dword(struct pci_dev *pdev, int offset, > } > > static void pci_restore_config_space_range(struct pci_dev *pdev, > - int start, int end, int retry) > + int start, int end, int retry, > + bool force) > { > int index; > > for (index = end; index >= start; index--) > pci_restore_config_dword(pdev, 4 * index, > pdev->save...
2018 Sep 12
0
[PATCH v2] PCI: Reprogram bridge prefetch registers on resume
...return; > + } > > for (;;) { > pci_dbg(pdev, "restoring config space at offset %#x (was %#x, writing %#x)\n", > @@ -1313,25 +1315,34 @@ static void pci_restore_config_dword(struct pci_dev *pdev, int offset, > } > > static void pci_restore_config_space_range(struct pci_dev *pdev, > - int start, int end, int retry) > + int start, int end, int retry, > + bool force) > { > int index; > > for (inde...
2018 Sep 29
0
[PATCH v3] PCI: Reprogram bridge prefetch registers on resume
...ved_val) >>> + if (!force && val == saved_val) >>> return; >>> >>> for (;;) { >>> @@ -1313,25 +1313,34 @@ static void pci_restore_config_dword(struct pci_dev *pdev, int offset, >>> } >>> >>> static void pci_restore_config_space_range(struct pci_dev *pdev, >>> - int start, int end, int retry) >>> + int start, int end, int retry, >>> + bool force) >>> { >>> int index; >>> >>> for (index = end; index >= start; index--) >>>...
2018 Sep 11
1
[PATCH] PCI: Reprogram bridge prefetch registers on resume
...ight be worth giving this another try. 3. Do nothing else beyond the minimal change that I propose for v4.19? Looking a bit more into git history this seems to be a sensitive and problematic area, more changes might mean more trouble. For example right now pci_restore_config_space() does: pci_restore_config_space_range(pdev, 10, 15, 0, 0); /* Restore BARs before the command register. */ pci_restore_config_space_range(pdev, 4, 9, 10, 0); pci_restore_config_space_range(pdev, 0, 3, 0, 0); but pci_restore_config_space_range() already goes in descending order, so the above is already equivalent...
2018 Sep 07
9
[PATCH] PCI: Reprogram bridge prefetch registers on resume
On 38+ Intel-based Asus products, the nvidia GPU becomes unusable after S3 suspend/resume. The affected products include multiple generations of nvidia GPUs and Intel SoCs. After resume, nouveau logs many errors such as: fifo: fault 00 [READ] at 0000005555555000 engine 00 [GR] client 04 [HUB/FE] reason 4a [] on channel -1 [007fa91000 unknown] DRM: failed to idle channel 0 [DRM]