View | Details | Raw Unified | Return to bug 221350
Collapse All | Expand All

(-)sys/dev/pci/pci.c (-1 / +9 lines)
Lines 221-226 Link Here
221
#define	PCI_QUIRK_UNMAP_REG	4 /* Ignore PCI map register */
221
#define	PCI_QUIRK_UNMAP_REG	4 /* Ignore PCI map register */
222
#define	PCI_QUIRK_DISABLE_MSIX	5 /* MSI-X doesn't work */
222
#define	PCI_QUIRK_DISABLE_MSIX	5 /* MSI-X doesn't work */
223
#define	PCI_QUIRK_MSI_INTX_BUG	6 /* PCIM_CMD_INTxDIS disables MSI */
223
#define	PCI_QUIRK_MSI_INTX_BUG	6 /* PCIM_CMD_INTxDIS disables MSI */
224
#define	PCI_QUIRK_NEED_REALLOC_BAR	7 /* Can't allocate memory at the default address */
224
	int	arg1;
225
	int	arg1;
225
	int	arg2;
226
	int	arg2;
226
};
227
};
Lines 302-307 Link Here
302
	{ 0x167814e4, PCI_QUIRK_MSI_INTX_BUG,	0,	0 }, /* BCM5715 */
303
	{ 0x167814e4, PCI_QUIRK_MSI_INTX_BUG,	0,	0 }, /* BCM5715 */
303
	{ 0x167914e4, PCI_QUIRK_MSI_INTX_BUG,	0,	0 }, /* BCM5715S */
304
	{ 0x167914e4, PCI_QUIRK_MSI_INTX_BUG,	0,	0 }, /* BCM5715S */
304
305
306
	/*
307
	 * HPE Gen 10 VGA has a memory range that can't be allocated in the
308
	 * expected place.
309
	 */
310
	{ 0x98741002, PCI_QUIRK_NEED_REALLOC_BAR,	0, 	0 },
311
305
	{ 0 }
312
	{ 0 }
306
};
313
};
307
314
Lines 3160-3166 Link Here
3160
	 */
3167
	 */
3161
	res = resource_list_reserve(rl, bus, dev, type, &reg, start, end, count,
3168
	res = resource_list_reserve(rl, bus, dev, type, &reg, start, end, count,
3162
	    flags);
3169
	    flags);
3163
	if (pci_do_realloc_bars && res == NULL && (start != 0 || end != ~0)) {
3170
	if ((pci_do_realloc_bars || pci_has_quirk(pci_get_devid(dev), PCI_QUIRK_NEED_REALLOC_BAR))
3171
			&& res == NULL && (start != 0 || end != ~0)) {
3164
		/*
3172
		/*
3165
		 * If the allocation fails, try to allocate a resource for
3173
		 * If the allocation fails, try to allocate a resource for
3166
		 * this BAR using any available range.  The firmware felt
3174
		 * this BAR using any available range.  The firmware felt

Return to bug 221350