sync with OpenBSD -current

This commit is contained in:
purplerain 2024-08-29 19:02:09 +00:00
parent bf0d2e284c
commit c0feaae94d
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
70 changed files with 792 additions and 1025 deletions

View file

@ -1384,6 +1384,12 @@ bool amdgpu_acpi_should_gpu_reset(struct amdgpu_device *adev)
if (amdgpu_sriov_vf(adev))
return false;
#ifdef __OpenBSD__
/* XXX VEGA10 S3 fails if reset is done */
if (pm_suspend_target_state == PM_SUSPEND_MEM)
return false;
#endif
#if IS_ENABLED(CONFIG_SUSPEND)
return pm_suspend_target_state != PM_SUSPEND_TO_IDLE;
#else

View file

@ -3491,8 +3491,9 @@ amdgpu_init_backlight(struct amdgpu_device *adev)
void
amdgpu_attachhook(struct device *self)
{
struct amdgpu_device *adev = (struct amdgpu_device *)self;
struct drm_device *dev = &adev->ddev;
struct amdgpu_device *adev = (struct amdgpu_device *)self;
struct drm_device *dev = &adev->ddev;
struct pci_dev *pdev = adev->pdev;
int r, acpi_status;
struct rasops_info *ri = &adev->ro;
struct drm_fb_helper *fb_helper;
@ -3500,7 +3501,7 @@ amdgpu_attachhook(struct device *self)
struct drm_gem_object *obj;
struct amdgpu_bo *rbo;
dev_set_drvdata(self, dev);
pci_set_drvdata(pdev, dev);
r = amdgpu_driver_load_kms(adev, adev->flags);
if (r)

View file

@ -1407,6 +1407,7 @@ drm_attach(struct device *parent, struct device *self, void *aux)
dev->pdev->pc = pa->pa_pc;
dev->pdev->tag = pa->pa_tag;
dev->pdev->pci = (struct pci_softc *)parent->dv_parent;
dev->pdev->_dev = parent;
#ifdef CONFIG_ACPI
dev->pdev->dev.node = acpi_find_pci(pa->pa_pc, pa->pa_tag);

View file

@ -2307,6 +2307,8 @@ inteldrm_attach(struct device *parent, struct device *self, void *aux)
return;
}
pci_set_drvdata(dev->pdev, dev_priv);
/* Device parameters start as a copy of module parameters. */
i915_params_copy(&dev_priv->params, &i915_modparams);
dev_priv->params.request_timeout_ms = 0;

View file

@ -449,11 +449,7 @@ static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
static inline struct drm_i915_private *pdev_to_i915(struct pci_dev *pdev)
{
STUB();
return NULL;
#ifdef notyet
return pci_get_drvdata(pdev);
#endif
}
static inline struct intel_gt *to_gt(struct drm_i915_private *i915)

View file

@ -1,4 +1,4 @@
/* $OpenBSD: pci.h,v 1.17 2024/08/16 10:46:46 kettenis Exp $ */
/* $OpenBSD: pci.h,v 1.18 2024/08/28 04:55:45 jsg Exp $ */
/*
* Copyright (c) 2015 Mark Kettenis
*
@ -33,6 +33,7 @@
#include <linux/kobject.h>
#include <linux/dma-mapping.h>
#include <linux/mod_devicetable.h>
#include <linux/device.h>
struct pci_dev;
@ -70,6 +71,7 @@ struct pci_dev {
uint8_t ltr_path;
struct pci_acpi dev;
struct device *_dev;
};
#define PCI_ANY_ID (uint16_t) (~0U)
@ -457,6 +459,13 @@ pci_is_thunderbolt_attached(struct pci_dev *pdev)
static inline void
pci_set_drvdata(struct pci_dev *pdev, void *data)
{
dev_set_drvdata(pdev->_dev, data);
}
static inline void *
pci_get_drvdata(struct pci_dev *pdev)
{
return dev_get_drvdata(pdev->_dev);
}
static inline int

View file

@ -1273,10 +1273,11 @@ radeondrm_attachhook(struct device *self)
task_set(&rdev->switchtask, radeondrm_doswitch, ri);
/*
* in linux via radeon_pci_probe -> drm_get_pci_dev -> drm_dev_register
*/
drm_dev_register(rdev->ddev, rdev->flags);
/* from linux radeon_pci_probe() */
pci_set_drvdata(dev->pdev, dev);
drm_dev_register(dev, rdev->flags);
radeon_fbdev_setup(rdev);

View file

@ -1,4 +1,4 @@
/* $OpenBSD: if_vio.c,v 1.50 2024/08/27 19:11:20 sf Exp $ */
/* $OpenBSD: if_vio.c,v 1.51 2024/08/28 12:40:22 sf Exp $ */
/*
* Copyright (c) 2012 Stefan Fritsch, Alexander Fiveg.
@ -465,14 +465,14 @@ vio_alloc_mem(struct vio_softc *sc)
}
sc->sc_arrays = mallocarray(rxqsize + txqsize,
2 * sizeof(bus_dmamap_t) + sizeof(struct mbuf *), M_DEVBUF,
sizeof(bus_dmamap_t) + sizeof(struct mbuf *), M_DEVBUF,
M_WAITOK | M_CANFAIL | M_ZERO);
if (sc->sc_arrays == NULL) {
printf("unable to allocate mem for dmamaps\n");
goto err_hdr;
}
allocsize = (rxqsize + txqsize) *
(2 * sizeof(bus_dmamap_t) + sizeof(struct mbuf *));
(sizeof(bus_dmamap_t) + sizeof(struct mbuf *));
sc->sc_tx_dmamaps = sc->sc_arrays + rxqsize;
sc->sc_rx_mbufs = (void*) (sc->sc_tx_dmamaps + txqsize);