The NetBSD Project

CVS log for src/sys/external/bsd/drm2/linux/linux_pci.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / external / bsd / drm2 / linux

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.25.2.1: download - view: text, markup, annotated - select for diffs
Fri Oct 4 11:40:50 2024 UTC (4 weeks, 5 days ago) by martin
Branches: netbsd-10
Diff to: previous 1.25: preferred, colored; next MAIN 1.26: preferred, colored
Changes since revision 1.25: +66 -45 lines
Pull up following revision(s) (requested by rin in ticket #928):

	sys/external/bsd/drm2/dist/drm/drm_gem.c: revision 1.25
	sys/external/bsd/drm2/dist/drm/radeon/radeon_ci_dpm.c: revision 1.7
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/priv.h: revision 1.4
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_acpi.c: revision 1.4
	sys/external/bsd/drm2/dist/drm/i915/display/intel_opregion.h: revision 1.6
	sys/external/bsd/drm2/dist/drm/i915/i915_drv.h: revision 1.49
	sys/external/bsd/drm2/include/linux/mxm-wmi.h: revision 1.1
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_pcie.c: revision 1.4
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_base.c: revision 1.13
	sys/external/bsd/common/include/linux/bitops.h: revision 1.17
	sys/external/bsd/drm2/nouveau/files.nouveau: revision 1.40
	sys/external/bsd/drm2/linux/linux_pci.c: revision 1.30
	sys/external/bsd/drm2/dist/drm/radeon/radeon_drv.h: revision 1.5
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/pci/nouveau_nvkm_subdev_pci_pcie.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/mxm/nouveau_nvkm_subdev_mxm_base.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_gart.c: revision 1.12
	sys/external/bsd/drm2/dist/drm/radeon/radeon_rv770.c: revision 1.3
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/disp/nouveau_nvkm_engine_disp_sorgm200.c: revision 1.3
	sys/external/bsd/common/include/linux/printk.h: revision 1.14
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/instmem/nouveau_nvkm_subdev_instmem_gk20a.c: revision 1.10
	sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_vi.c: revision 1.4
	sys/external/bsd/drm2/include/linux/acpi.h: revision 1.11
	sys/external/bsd/drm2/drm/drm_cdevsw.c: revision 1.31
	sys/external/bsd/drm2/dist/drm/radeon/radeon_si.c: revision 1.6
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_acpi.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/i915/display/intel_acpi.h: revision 1.5
	sys/external/bsd/drm2/include/acpi/video.h: revision 1.3
	sys/external/bsd/drm2/dist/drm/radeon/radeon_evergreen.c: revision 1.6
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_acpi.h: revision 1.4
	sys/arch/sparc64/include/pci_machdep.h: revision 1.31
	sys/arch/sparc64/dev/pci_machdep.c: revision 1.83
	sys/external/bsd/drm2/include/linux/kref.h: revision 1.14
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_pci.c: revision 1.12
	sys/external/bsd/drm2/linux/linux_dma_buf.c: revision 1.17
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/subdev/bios/nouveau_nvkm_subdev_bios_shadowacpi.c: revision 1.4
	sys/external/bsd/drm2/drm/drm_module.c: revision 1.32
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.h: revision 1.8
	sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_dmabuf.c: revision 1.7
	sys/external/bsd/drm2/include/linux/smp.h: revision 1.5
	sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_si.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c: revision 1.20
	sys/arch/x86/x86/bus_dma.c: revision 1.91
	sys/external/bsd/drm2/radeon/files.radeon: revision 1.40
	sys/external/bsd/drm2/include/acpi/acpi_bus.h: revision 1.1
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_drv.h: revision 1.5
	sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_device.c: revision 1.21
	sys/external/bsd/common/include/asm/barrier.h: revision 1.20
	sys/external/bsd/drm2/include/linux/nbsd-namespace-acpi.h: revision 1.2
	sys/external/bsd/common/include/asm/barrier.h: revision 1.21
	sys/modules/drmkms/drmkms_pci.h: revision 1.1
	sys/external/bsd/drm2/dist/drm/drm_dp_helper.c: revision 1.17
	sys/external/bsd/drm2/radeon/radeon_pci.c: revision 1.23
	sys/external/bsd/drm2/linux/linux_xa.c: revision 1.4
	sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.23
	sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.24
	sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.25
	sys/external/bsd/drm2/linux/linux_pci.c: revision 1.26
	sys/dev/pci/pcivar.h: revision 1.120
	sys/arch/xen/include/pci_machdep.h: revision 1.24
	sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.26
	sys/external/bsd/drm2/linux/linux_pci.c: revision 1.27
	sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.27
	sys/external/bsd/drm2/linux/linux_pci.c: revision 1.28
	sys/external/bsd/drm2/dist/drm/radeon/radeon_cik.c: revision 1.8
	sys/external/bsd/drm2/ttm/ttm_bo_vm.c: revision 1.28
	sys/external/bsd/drm2/linux/linux_pci.c: revision 1.29
	sys/external/bsd/drm2/include/linux/pci.h: revision 1.57
	sys/external/bsd/drm2/include/linux/pci.h: revision 1.58
	sys/external/bsd/drm2/dist/drm/radeon/radeon_acpi.c: revision 1.5
	sys/external/bsd/drm2/dist/drm/nouveau/nouveau_display.c: revision 1.6
	sys/external/bsd/drm2/dist/drm/amd/powerplay/hwmgr/amdgpu_hwmgr.c: revision 1.3
	sys/external/bsd/drm2/dist/drm/amd/display/dc/core/amdgpu_dc_stream.c: revision 1.3
	share/man/man9/bus_dma.9: revision 1.69
	sys/external/bsd/drm2/drm/drm_gem_cma_helper.c: revision 1.15
	sys/external/bsd/drm2/dist/drm/radeon/radeon_acpi.c: revision 1.6
	sys/external/bsd/drm2/dist/drm/radeon/radeon.h: revision 1.12
	sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_cik.c: revision 1.7
	sys/dev/acpi/acpi_mcfg.c: revision 1.29
	sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu_acpi.c: revision 1.6
	sys/external/bsd/drm2/dist/drm/radeon/radeon_r600.c: revision 1.7
	sys/external/bsd/drm2/dist/drm/radeon/radeon_bios.c: revision 1.13
	sys/modules/amdgpu/Makefile: revision 1.9
	sys/external/bsd/drm2/dist/drm/radeon/radeon_bios.c: revision 1.14
	sys/external/bsd/common/linux/linux_tasklet.c: revision 1.12
	sys/external/bsd/drm2/dist/drm/nouveau/include/nvkm/core/device.h: revision 1.10
	sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c: revision 1.23
	sys/external/bsd/drm2/dist/drm/amd/amdgpu/amdgpu.h: revision 1.9
	sys/external/bsd/drm2/include/linux/interval_tree.h: revision 1.14
	sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c: revision 1.26
	sys/external/bsd/drm2/dist/drm/amd/powerplay/hwmgr/amdgpu_smu7_hwmgr.c: revision 1.5
	sys/dev/pci/pci.c: revision 1.168
	sys/external/bsd/drm2/dist/drm/i915/gem/i915_gem_mman.c: revision 1.27
	sys/external/bsd/drm2/dist/drm/radeon/radeon_si_dpm.c: revision 1.9
	sys/external/bsd/drm2/pci/files.drmkms_pci: revision 1.18
	sys/external/bsd/drm2/linux/linux_sync_file.c: revision 1.3
	sys/external/bsd/drm2/amdgpu/files.amdgpu: revision 1.31
	sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/device/nouveau_nvkm_engine_device_tegra.c: revision 1.4
	sys/external/bsd/drm2/dist/drm/drm_gem.c: revision 1.24
	sys/arch/xen/xen/xpci_xenbus.c: revision 1.29

drm: Eliminate __HAVE_ATOMIC_AS_MEMBAR conditionals.
Discussed on tech-kern:
https://mail-index.netbsd.org/tech-kern/2023/02/23/msg028729.html

linux asm/barrier.h: Fix !MULTIPROCESSOR build.

remove "nouveau" from a comment.  noted by jmcneill.

drm: KASSERT(A && B) -> KASSERT(A); KASSERT(B)
comment a function that has a clear overbounds read but it isn't used.
found by GCC 12.

nix the NetBSD specific GEM_BUG_ON().
avoids GCC 12 warnings, and matches upstream closer.
avoid uninitialised variable usage in drm_gem_cma_create_internal().
in the case nothing has returned 'error', 'nsegs' and the dma info
are (potentially) uninitialised, so consider this an error.
found by GCC 12.

avoid a GCC 12 warning.
there's a 1-element long array and a loop conditional that tries to see
if indexes for it are not identical.  as these indexes will always both
be 0, the only valid index, the condition is always false.  GCC 12
triggers a strange warning on this code that can never run (see below),
so simply assert the array size is 1 and comment the rest.
amdgpu_dc_stream.c:470:55: error: array subscript [0, 0] is outside array bounds of 'struct dc_writeback_info[1]' [-Werror=array-bounds]
  470 |                                 stream->writeback_info[j] = stream->writeback_info[i];

convert a KASSERT() into an if () panic() sequence to appease GCC 12.
OK riastradh@.

drm: Fix conditionals around drmkms_pci and agp.
Kernel should build now with all pci drm drivers stripped out but
DRM_LEGACY still enabled.  (Might not be very useful, but it'll
build.  Maybe we should also have DRM_LEGACY_PCI so those drivers can
be modloaded later.)

drmkms: Fix module build.
avoid an unlikely array bounds issue picked up by GCC 12.
nvkm_pcie_speed() can return -1, which is then used as an array index,
so make this default return PCIe 1.0 speeds.

drm: enable almost all PCIe functionality
linux_pci.c revisions 1.24 and 1.25 implemented most of the remaining
missing PCIe backends, but only enabled them for some amdgpu portions.
this enables all code marked with "XXX amdgpu pcie", "XXX radeon pcie",
and "XXX pcie speed".  for most of it, simply removing #ifndefs __NetBSD__
to enable compliation was required, once the new "bus->max_bus_speed"
member was added to struct pci_bus.  add an "always fails" backend for
pci_enable_atomic_ops_to_root() which seems to only be necessary
for virtual GPU functionality (and could be implemented if needed.)
tested on radeon 5450, 7750, R7 240 [radeon], and RX 550 [amdgpu], and
nvidia 750 and 1030 [nouveau].
this still does not quite work on nvidia cards.  there are two problems
that remain:
- the call to set the link speed is skipped because the speed is set
  to the default value of "-1".  nvkm_pcie_set_link() will actually
  determine the right value for this and for some cards, calling this
  function if the current speed is -1 helps set the link speed.  it
  may be that on linux other paths we don't have enabled properly
  would set this (there's one via debugfs, and a jetson specific one,
  though perhaps setting either AC or DC speed values as boot options
  (after hooking up these for netbsd) would currently work.
- worse, cards newer than kepler - geforce 900, 1000, and newer, are
  all lacking the backing support to set pcie link speed.  the GT 1030
  card i have been testing with remains at pcie 1.0.

radeon: fix and enable ACPI methods for getting ROM BIOS
The hacky way of getting the BIOS mapped only works on x86. ACPI
should be preferred if available. Makes BIOS reading though VFCT
work on aarch64 with EDK2. (But only if EDK2 has POSTed the GPU.)
XXX amdgpu should get the same treatment.

drm: put_cpu() should enable preemption, not disable it again

drm(4): make pr_debug equivalent to aprint_debug
significantly reduces the default spam from amdgpu(4).

drm: Set CONFIG_ACPI in linux/acpi.h and make it build.

Leave a little ACPI-related functionality disabled for now, like
getting EDID out of ACPI -- needs a bit more work to make this work,
and I don't have hardware to work on that.
Should help with failures of the forms:
- unable to locate a BIOS ROM
- bios: unable to locate usable image
on various machines.

radeon_acpi.c: ifdef out unused function on NetBSD.
Should fix syzkaller build.

drm(4): Fix st_rdev in stat.
dminor->index already has the 64*type adjustment, as allocated in
drm_minor_alloc.
PR kern/58180

linux_sync_file: Fix missing init/fini steps.
Noted by rjs@.
PR kern/58210

ttm: Sync ttm_bo_uvm_fault_idle better with Linux.
PR xsrc/58133
ttm: Undo mistake in previous.

PR xsrc/58133
linux: Add a few more cases to pci_get_class.
Should fix crash on boot with amdgpu now that the ACPI business is
enabled.

i915: Fix dmabuf mmap object.

drm: Fix missing bounds checks in dma buf mmap.

drm_gem.c: Fix sense of assertion.
This is the opposite of WARN_ON.
Noted by rjs@.

drm_gem.c: Enable drm_gem_fence_array_add now that we emulate xa.
linux_xa: Delete and replace collision in xa_store as intended.
Don't free the colliding node that's still in the tree.
Noted by rjs@.

i915_gem_mman.c: Apply mmap types via pmap flags.
This way, userland gets buffers mapped write-combining or uncached as
needed.
PR xsrc/58307

x86: Teach bus_dmamem_map about BUS_DMA_PREFETCHABLE.
PR port-amd64/58308

bus_dma(9): Document BUS_DMA_PREFETCHABLE.
Like BUS_DMA_NOCACHE.  Doesn't absolve you of the need for
bus_dmamap_sync, but if you later pass the vaddr to bus_dmamap_load,
the DMA map might notice the mapping is write-combining and use this
to make bus_dmamap_sync cheaper.
PR kern/58309

nouveau_nvkm_subdev_instmem_gk20a.c: Use BUS_DMA_PREFETCHABLE.
Matches Linux's pgprot_writecombine.
Unclear where the appropriate bus_dmamap_sync happens, or is supposed
to happen -- not using it would be wrong, but asking for a
prefetchable mapping may paper over symptoms, at least!

ttm: Sync more with Linux.
Add the original copyright and attribution since this is now,
intentionally, a modified copy of the original and not just roughly
the same algorithm.

ttm: Respect PGO_ALLPAGES.
Not sure this is useful but it reduces XXX's and makes this match
udv_fault better so it's easier to understand.

ttm: Sync cacheability flag logic with Linux.

ttm: Add XXX about readahead fault failures.

pci: Pass cookie through pci_find_device, pci_enumerate_bus, take 2.
New functions pci_find_device1 and pci_enumerate_bus1 have the cookie
argument.  Existing symbols pci_find_device and pci_enumerate_bus are
now wrappers for the cookieless version.
This will allow pci_find_device callers to pass a cookie through to
the match function so they can keep state or pass in extra parameters
like b/d/f numbers, which will allow us to nix some horrible kludges
in the Linux PCI API emulation for drm (and, perhaps, Intel wifi).
This change drops the symbol pci_probe_device, in favour of a new
pci_probe_device1 with the cookie argument.  But I don't think that
requires a revbump because it's only called by MD pci_enumerate_bus1
implementations, which don't live in modules anyway.
Take 2: Make sure to handle NULL match function.
linux_pci: Nix pci enumeration kludges.
Now that we can pass a cookie through, this stuff will be a little
less fragile.

i915: Omit needless i915_gem_object_pin/unpin_pages cycle in fault.
vm_fault_cpu and vm_fault_gtt, called by i915_gem_fault, already do
the pinning and unpinning internally, so there is no need for
i915_gem_fault to do it.
No functional change intended, except that the transient pin count
will be one lower than before during the fault routine (but it will
still be positive).

i915: Match Linux fault routine return code actions.
Omit needless EINTR interception -- this is now handled by
i915_error_to_vmf_fault.
Earlier revert was over a false alarm -- bisection shows the new
warnings arose from linux_pci.c 1.29 here:
https://mail-index.netbsd.org/source-changes/2024/06/23/msg151929.html

linux_pci: Fix shifto in pci_get_class.
It looks like Linux's pci_get_class also matches the interface part
of the PCI class register (but not the revision part), and I hadn't
noticed that in the previous shim structured differently.

With GCC12 kernel ALL/amd64 triggers "'sor' may be used uninitialized".
If "sublinks & 3" is zero GCC is right and sor[1] may be returned unitialized.
Fix by initializing "sor" to zero to return -1 instead of uninitialized value.
Ok: Taylor R Campbell <riastradh@>

amdgpu: Map BAR 2, not BAR 5, on pre-bonaire chips.
PR kern/58384

amdgpu: Map consecutive pages, not the same one over and over again.
PR kern/58385

linux/bitops: Fix overestimate for BITS_TO_LONGS(9)
Fortunately, this seems harmless except for allocating
excessive buffer memory.
Pointed out by nonaka@, OK riastradh@.

Revision 1.30: download - view: text, markup, annotated - select for diffs
Mon Jun 24 21:23:53 2024 UTC (4 months, 1 week ago) by riastradh
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, HEAD
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +9 -7 lines
linux_pci: Fix shifto in pci_get_class.

It looks like Linux's pci_get_class also matches the interface part
of the PCI class register (but not the revision part), and I hadn't
noticed that in the previous shim structured differently.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Sun Jun 23 00:53:48 2024 UTC (4 months, 2 weeks ago) by riastradh
Branches: MAIN
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +45 -93 lines
linux_pci: Nix pci enumeration kludges.

Now that we can pass a cookie through, this stuff will be a little
less fragile.

Revision 1.28: download - view: text, markup, annotated - select for diffs
Sun May 19 17:36:08 2024 UTC (5 months, 2 weeks ago) by riastradh
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +61 -8 lines
linux: Add a few more cases to pci_get_class.

Should fix crash on boot with amdgpu now that the ACPI business is
enabled.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Sat Sep 30 10:46:46 2023 UTC (13 months, 1 week ago) by mrg
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +13 -2 lines
drm: enable almost all PCIe functionality

linux_pci.c revisions 1.24 and 1.25 implemented most of the remaining
missing PCIe backends, but only enabled them for some amdgpu portions.

this enables all code marked with "XXX amdgpu pcie", "XXX radeon pcie",
and "XXX pcie speed".  for most of it, simply removing #ifndefs __NetBSD__
to enable compliation was required, once the new "bus->max_bus_speed"
member was added to struct pci_bus.  add an "always fails" backend for
pci_enable_atomic_ops_to_root() which seems to only be necessary
for virtual GPU functionality (and could be implemented if needed.)

tested on radeon 5450, 7750, R7 240 [radeon], and RX 550 [amdgpu], and
nvidia 750 and 1030 [nouveau].


this still does not quite work on nvidia cards.  there are two problems
that remain:

- the call to set the link speed is skipped because the speed is set
  to the default value of "-1".  nvkm_pcie_set_link() will actually
  determine the right value for this and for some cards, calling this
  function if the current speed is -1 helps set the link speed.  it
  may be that on linux other paths we don't have enabled properly
  would set this (there's one via debugfs, and a jetson specific one,
  though perhaps setting either AC or DC speed values as boot options
  (after hooking up these for netbsd) would currently work.

- worse, cards newer than kepler - geforce 900, 1000, and newer, are
  all lacking the backing support to set pcie link speed.  the GT 1030
  card i have been testing with remains at pcie 1.0.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Mon Sep 4 21:31:58 2023 UTC (14 months ago) by mrg
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +8 -5 lines
convert a KASSERT() into an if () panic() sequence to appease GCC 12.

OK riastradh@.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Mon Oct 17 03:05:32 2022 UTC (2 years ago) by mrg
Branches: MAIN
CVS tags: netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Branch point for: netbsd-10
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +200 -2 lines
add pcie capability and read request size linux compat, some pci root support

implement support for:
- pcie_capability_read_dword()
- pcie_capability_read_word()
- pcie_capability_write_dword()
- pcie_capability_write_word()
- pcie_get_readrq()
- pcie_set_readrq()

implement the "struct pci_dev" bus->self member by creating a minimal fake
"struct pci_dev" for the pci bus itself.  this is kind of gross.  it checks
that the current device's parent is a netbsd "pci" device, and that it has
a (grand) parent "ppb" device, and then fills in the fake device based upon
the pci and ppb devices.

add some PCIE_LCSR2_TGT_LSPEED encodings, and map them to linux names.
map several other PCIE_LCSR and PCIE_LCAP names.

uncomment several pcie code segments in radeon and amdgpu.  (not sure that
we can test the amdgpu_si.c change, as we use the radeon version and the
amdgpu version hangs on the one machine i have.)

tested on amdgpu (RX550) and radeon (7750 & 3650).


ok @riastradh

Revision 1.24: download - view: text, markup, annotated - select for diffs
Tue Sep 20 23:01:42 2022 UTC (2 years, 1 month ago) by mrg
Branches: MAIN
CVS tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +141 -4 lines
fill out more of the linux pci API compat

- implement pcie_get_speed_cap(), pcie_bandwidth_available(), and
  pci_is_root_bus().
- expand "enum pci_bus_speed" to add PCIe 5.x and 6.x speeds.
- add "enum pcie_link_width".
- add defines for PCIE_LCSR_LINKSPEED (PCIe generation) and PCIE_LCSR_NLW
  (negotiated lane width) to pcireg.h
- enable amdgpu_device_get_pcie_info() code now it works.

ok riastradh@

Revision 1.23: download - view: text, markup, annotated - select for diffs
Wed Jul 20 01:20:20 2022 UTC (2 years, 3 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +3 -3 lines
drm: Use real pci segment number, not pciN device unit.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Tue Jul 19 22:24:34 2022 UTC (2 years, 3 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +2 -3 lines
drm: Nix drm_agp_borrow.

This horrible kludge dates from before I understood the relation of
genfb_pci and pci drm drivers in the old and new worlds of drm.

The only user of it, in i915, was changed to use agp_i810_borrow
directly in the last drm update, so this hack can die.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Sun Feb 27 14:19:20 2022 UTC (2 years, 8 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +2 -6 lines
drm: Deconditionalize pci_get_segment.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Sun Dec 19 12:00:16 2021 UTC (2 years, 10 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +10 -2 lines
linux: pci_name

Revision 1.19: download - view: text, markup, annotated - select for diffs
Sun Dec 19 11:38:04 2021 UTC (2 years, 10 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +10 -2 lines
i915: another whack at it

Revision 1.18: download - view: text, markup, annotated - select for diffs
Sun Dec 19 11:09:48 2021 UTC (2 years, 10 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +2 -8 lines
drm: Remove local diffs for drm_pci_set_busid.

Instead, move it to its own file that can be safely used without
bringing in a link/run-time dependency on pci.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Sun Dec 19 10:59:48 2021 UTC (2 years, 10 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +3 -2 lines
Include acpica.h for NACPICA.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Sun Dec 19 10:57:42 2021 UTC (2 years, 10 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +7 -2 lines
Move acpi includes to linux_pci.c to avoid pollution.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Sun Dec 19 09:49:39 2021 UTC (2 years, 10 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +8 -2 lines
Stub dev_is_pci


Author: Maya Rashish <maya@NetBSD.org>

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sun Dec 19 01:48:13 2021 UTC (2 years, 10 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +10 -2 lines
Define pci_is_thunderbolt_attached (answer: no).

Revision 1.13: download - view: text, markup, annotated - select for diffs
Sun Dec 19 01:46:52 2021 UTC (2 years, 10 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +3 -3 lines
Update change to Linux struct resource members: end, not size.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Sun Dec 19 01:21:15 2021 UTC (2 years, 10 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +11 -6 lines
Define pci_get/set_drvdata properly.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sun Dec 19 01:21:08 2021 UTC (2 years, 10 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +5 -3 lines
pci_get_bus_and_slot -> pci_get_domain_bus_and_slot

Revision 1.6.6.3: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:08:28 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.6.6.2: preferred, colored; branchpoint 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6.6.2: +12 -7 lines
Merge changes from current as of 20200406

Revision 1.6.10.2: download - view: text, markup, annotated - select for diffs
Sat Feb 29 20:20:18 2020 UTC (4 years, 8 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.6.10.1: preferred, colored; branchpoint 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6.10.1: +2 -6 lines
Sync with head.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Wed Feb 12 18:35:01 2020 UTC (4 years, 8 months ago) by jdolecek
Branches: MAIN
CVS tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +2 -6 lines
re-enable MSI - this actually enables MSI only for intel/radeon/generic
which are reported to work fine, while nouveau (which breaks with
MSI) still uses INTx

see the thread
http://mail-index.netbsd.org/current-users/2020/02/06/msg037661.html

Revision 1.9: download - view: text, markup, annotated - select for diffs
Fri Feb 7 18:13:33 2020 UTC (4 years, 9 months ago) by jmcneill
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +4 -0 lines
Turn MSI off again.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Mon Feb 3 16:22:52 2020 UTC (4 years, 9 months ago) by jmcneill
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -6 lines
Re-enable PCI MSI for DRM devices

Revision 1.6.10.1: download - view: text, markup, annotated - select for diffs
Sat Jan 25 22:38:50 2020 UTC (4 years, 9 months ago) by ad
Branches: ad-namecache
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +12 -3 lines
Sync with head.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Sat Jan 18 02:59:42 2020 UTC (4 years, 9 months ago) by jmcneill
Branches: MAIN
CVS tags: ad-namecache-base2
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +12 -3 lines
Use pci_get_segment if available

Revision 1.6.6.2: download - view: text, markup, annotated - select for diffs
Mon Jun 10 22:08:33 2019 UTC (5 years, 4 months ago) by christos
Branches: phil-wifi
Diff to: previous 1.6.6.1: preferred, colored; branchpoint 1.6: preferred, colored
Changes since revision 1.6.6.1: +765 -0 lines
Sync with HEAD

Revision 1.6.2.2: download - view: text, markup, annotated - select for diffs
Thu Sep 6 06:56:37 2018 UTC (6 years, 2 months ago) by pgoyette
Branches: pgoyette-compat
CVS tags: pgoyette-compat-merge-20190127
Diff to: previous 1.6.2.1: preferred, colored; branchpoint 1.6: preferred, colored; next MAIN 1.7: preferred, colored
Changes since revision 1.6.2.1: +765 -0 lines
Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.6.6.1
Tue Aug 28 03:41:39 2018 UTC (6 years, 2 months ago) by christos
Branches: phil-wifi
FILE REMOVED
Changes since revision 1.6: +0 -765 lines
file linux_pci.c was added on branch phil-wifi on 2019-06-10 22:08:33 +0000

Revision 1.6.2.1
Tue Aug 28 03:41:39 2018 UTC (6 years, 2 months ago) by pgoyette
Branches: pgoyette-compat
FILE REMOVED
Changes since revision 1.6: +0 -765 lines
file linux_pci.c was added on branch pgoyette-compat on 2018-09-06 06:56:37 +0000

Revision 1.6: download - view: text, markup, annotated - select for diffs
Tue Aug 28 03:41:39 2018 UTC (6 years, 2 months ago) by riastradh
Branches: MAIN
CVS tags: phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, netbsd-9-base, netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, ad-namecache-base1, ad-namecache-base
Branch point for: phil-wifi, pgoyette-compat, ad-namecache
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -9 lines
Rework PCI and AGP conditionalization.

- Push drm_pci_set_unique into driver callback.
- Eliminate drm_pci_set_unique_hook.
- Gather all drm_agp_* functions into struct drm_agp_hooks.
- Replace the nonsensical old atomic garbage by serious locking.
- Make drm_agpsupport.c its own module.
- Eliminate NDRMKMS_PCI.
- Use NAGP from "agp.h" only in drm_module.c for horrible hack.
  => See comment in file for rationale.
- Always define CONFIG_PCI=1 and CONFIG_AGP=1.
- Always go through the drm_agp_* function hooks.
- Ifdef out nouveau agp stuff that doesn't go through drm_agp_*
  for reasons that I'm too frustrated to figure out tonight.
- pci_iomap no longer automagically does agp_i810_borrow.
  => Use drm_agp_borrow instead.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Mon Aug 27 15:12:21 2018 UTC (6 years, 2 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +6 -0 lines
Try agp_i810_borrow only if CONFIG_AGP is enabled.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Mon Aug 27 14:19:59 2018 UTC (6 years, 2 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +3 -0 lines
Treat pre-enabled devices as 1 enablecnt.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Mon Aug 27 14:17:04 2018 UTC (6 years, 2 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +2 -0 lines
Zero the whole thing for good measure.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Mon Aug 27 14:16:52 2018 UTC (6 years, 2 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +2 -1 lines
Make sure the resources are marked unmapped initially.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Mon Aug 27 14:16:38 2018 UTC (6 years, 2 months ago) by riastradh
Branches: MAIN
Move the Linux PCI shim into its very own .c file.

The poor thing has deserved this for a very long time, even though it
is full of kludges.  Also I'm tired of recompiling everything every
time I touch it.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>