Displaying 14 results from an estimated 14 matches for "bochs_hw_fini".
2020 Feb 10
1
[PATCH v2] drm/bochs: add drm_driver.release callback.
Call drm_dev_unregister() first in bochs_pci_remove(). Hook
bochs_unload() into the new .release callback, to make sure cleanup
is done when all users are gone.
Add ready bool to state struct and move bochs_hw_fini() call from
bochs_unload() to bochs_pci_remove() to make sure hardware is not
touched after bochs_pci_remove returns.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
drivers/gpu/drm/bochs/bochs.h | 1 +
drivers/gpu/drm/bochs/bochs_drv.c | 6 +++---
drivers/gpu/drm/bochs/bochs_...
2020 Feb 11
1
[PATCH v3] drm/bochs: add drm_driver.release callback.
...u/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c
index 10460878414e..addb0568c1af 100644
--- a/drivers/gpu/drm/bochs/bochs_drv.c
+++ b/drivers/gpu/drm/bochs/bochs_drv.c
@@ -23,7 +23,6 @@ static void bochs_unload(struct drm_device *dev)
bochs_kms_fini(bochs);
bochs_mm_fini(bochs);
- bochs_hw_fini(dev);
kfree(bochs);
dev->dev_private = NULL;
}
@@ -69,6 +68,7 @@ static struct drm_driver bochs_driver = {
.major = 1,
.minor = 0,
DRM_GEM_VRAM_DRIVER,
+ .release = bochs_unload,
};
/* ---------------------------------------------------------------------- */
@@...
2020 Feb 11
2
[PATCH v4] drm/bochs: add drm_driver.release callback.
...u/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c
index 10460878414e..addb0568c1af 100644
--- a/drivers/gpu/drm/bochs/bochs_drv.c
+++ b/drivers/gpu/drm/bochs/bochs_drv.c
@@ -23,7 +23,6 @@ static void bochs_unload(struct drm_device *dev)
bochs_kms_fini(bochs);
bochs_mm_fini(bochs);
- bochs_hw_fini(dev);
kfree(bochs);
dev->dev_private = NULL;
}
@@ -69,6 +68,7 @@ static struct drm_driver bochs_driver = {
.major = 1,
.minor = 0,
DRM_GEM_VRAM_DRIVER,
+ .release = bochs_unload,
};
/* ---------------------------------------------------------------------- */
@@...
2020 Feb 11
2
[PATCH v4] drm/bochs: add drm_driver.release callback.
...u/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c
index 10460878414e..addb0568c1af 100644
--- a/drivers/gpu/drm/bochs/bochs_drv.c
+++ b/drivers/gpu/drm/bochs/bochs_drv.c
@@ -23,7 +23,6 @@ static void bochs_unload(struct drm_device *dev)
bochs_kms_fini(bochs);
bochs_mm_fini(bochs);
- bochs_hw_fini(dev);
kfree(bochs);
dev->dev_private = NULL;
}
@@ -69,6 +68,7 @@ static struct drm_driver bochs_driver = {
.major = 1,
.minor = 0,
DRM_GEM_VRAM_DRIVER,
+ .release = bochs_unload,
};
/* ---------------------------------------------------------------------- */
@@...
2020 Feb 11
0
[PATCH v4] drm/bochs: add drm_driver.release callback.
...m/bochs/bochs_drv.c
> index 10460878414e..addb0568c1af 100644
> --- a/drivers/gpu/drm/bochs/bochs_drv.c
> +++ b/drivers/gpu/drm/bochs/bochs_drv.c
> @@ -23,7 +23,6 @@ static void bochs_unload(struct drm_device *dev)
>
> bochs_kms_fini(bochs);
> bochs_mm_fini(bochs);
> - bochs_hw_fini(dev);
> kfree(bochs);
> dev->dev_private = NULL;
> }
> @@ -69,6 +68,7 @@ static struct drm_driver bochs_driver = {
> .major = 1,
> .minor = 0,
> DRM_GEM_VRAM_DRIVER,
> + .release = bochs_unload,
> };
>
> /* ----------------------...
2020 Apr 21
0
[PATCH v1] drm/bochs: fix an issue of ioremap() leak
On Tue, Apr 21, 2020 at 7:45 PM Dejin Zheng <zhengdejin5 at gmail.com> wrote:
>
> It forgot to call bochs_hw_fini() to release related resources when
> bochs_pci_probe() fail. eg: io virtual address get by ioremap().
Good start, although I think the best is to switch this driver to use
pcim_*() functions and drop tons of legacy code.
> Fixes: 81da8c3b8d3df6 ("drm/bochs: add drm_driver.release call...
2020 Apr 22
0
[PATCH v1] drm/bochs: fix an issue of ioremap() leak
...n Wed, Apr 22, 2020 at 4:52 PM Dejin Zheng <zhengdejin5 at gmail.com> wrote:
>
> On Tue, Apr 21, 2020 at 08:24:24PM +0300, Andy Shevchenko wrote:
> > On Tue, Apr 21, 2020 at 7:45 PM Dejin Zheng <zhengdejin5 at gmail.com> wrote:
> > >
> > > It forgot to call bochs_hw_fini() to release related resources when
> > > bochs_pci_probe() fail. eg: io virtual address get by ioremap().
> >
> > Good start, although I think the best is to switch this driver to use
> > pcim_*() functions and drop tons of legacy code.
> >
> Andy, thanks for yo...
2018 Dec 19
0
[PATCH 02/14] drm/bochs: split bochs_hw_setmode
...les changed, 17 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/bochs/bochs.h b/drivers/gpu/drm/bochs/bochs.h
index fb38c8b857..4dc1b6384e 100644
--- a/drivers/gpu/drm/bochs/bochs.h
+++ b/drivers/gpu/drm/bochs/bochs.h
@@ -121,8 +121,9 @@ int bochs_hw_init(struct drm_device *dev);
void bochs_hw_fini(struct drm_device *dev);
void bochs_hw_setmode(struct bochs_device *bochs,
- struct drm_display_mode *mode,
- const struct drm_format_info *format);
+ struct drm_display_mode *mode);
+void bochs_hw_setformat(struct bochs_device *bochs,
+ const struct drm_format_info *forma...
2020 Dec 01
1
[PATCH v2 04/20] drm/bochs: Remove references to struct drm_device.pdev
...truct bochs_device *bochs)
int bochs_hw_init(struct drm_device *dev)
{
struct bochs_device *bochs = dev->dev_private;
- struct pci_dev *pdev = dev->pdev;
+ struct pci_dev *pdev = to_pci_dev(dev->dev);
unsigned long addr, size, mem, ioaddr, iosize;
u16 id;
@@ -201,7 +201,7 @@ void bochs_hw_fini(struct drm_device *dev)
release_region(VBE_DISPI_IOPORT_INDEX, 2);
if (bochs->fb_map)
iounmap(bochs->fb_map);
- pci_release_regions(dev->pdev);
+ pci_release_regions(to_pci_dev(dev->dev));
kfree(bochs->edid);
}
--
2.29.2
2018 Sep 19
0
[PATCH v3 4/5] drm/bochs: support changing byteorder at mode set time
...gpu/drm/bochs/bochs.h
+++ b/drivers/gpu/drm/bochs/bochs.h
@@ -58,6 +58,7 @@ struct bochs_device {
void __iomem *fb_map;
unsigned long fb_base;
unsigned long fb_size;
+ unsigned long qext_size;
/* mode */
u16 xres;
@@ -121,7 +122,8 @@ int bochs_hw_init(struct drm_device *dev);
void bochs_hw_fini(struct drm_device *dev);
void bochs_hw_setmode(struct bochs_device *bochs,
- struct drm_display_mode *mode);
+ struct drm_display_mode *mode,
+ const struct drm_format_info *format);
void bochs_hw_setbase(struct bochs_device *bochs,
int x, int y, u64 addr);
diff...
2018 Dec 19
0
[PATCH 12/14] drm/bochs: switch to generic drm fbdev emulation
...f1f65324bb 100644
--- a/drivers/gpu/drm/bochs/bochs_drv.c
+++ b/drivers/gpu/drm/bochs/bochs_drv.c
@@ -27,7 +27,6 @@ static void bochs_unload(struct drm_device *dev)
{
struct bochs_device *bochs = dev->dev_private;
- bochs_fbdev_fini(bochs);
bochs_kms_fini(bochs);
bochs_mm_fini(bochs);
bochs_hw_fini(dev);
@@ -58,9 +57,6 @@ static int bochs_load(struct drm_device *dev)
if (ret)
goto err;
- if (enable_fbdev)
- bochs_fbdev_init(bochs);
-
return 0;
err:
@@ -178,6 +174,7 @@ static int bochs_pci_probe(struct pci_dev *pdev,
if (ret)
goto err_unload;
+ drm_fbdev_generic_setup(dev,...
2019 Jun 27
0
[PATCH v3 5/5] drm/bochs: move bochs_hw_setformat() call
...rivers/gpu/drm/bochs/bochs_kms.c | 1 -
3 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/bochs/bochs.h b/drivers/gpu/drm/bochs/bochs.h
index 4081b3aba28d..528b8e8dde40 100644
--- a/drivers/gpu/drm/bochs/bochs.h
+++ b/drivers/gpu/drm/bochs/bochs.h
@@ -80,8 +80,6 @@ void bochs_hw_fini(struct drm_device *dev);
void bochs_hw_setmode(struct bochs_device *bochs,
struct drm_display_mode *mode);
-void bochs_hw_setformat(struct bochs_device *bochs,
- const struct drm_format_info *format);
void bochs_hw_setfb(struct bochs_device *bochs,
struct drm_framebuffer *fb,...
2020 Feb 07
2
[PATCH] drm/bochs: add drm_driver.release callback.
From: Gurchetan Singh <gurchetansingh at chromium.org>
Move bochs_unload call from bochs_remove() to the new bochs_release()
callback. Also call drm_dev_unregister() first in bochs_remove().
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
drivers/gpu/drm/bochs/bochs_drv.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git
2018 Sep 07
0
[PATCH] bochs: convert to drm_fb_helper_fbdev_setup/teardown
...2013-12-17 29
0a6659bd Gerd Hoffmann 2013-12-17 30 bochs_fbdev_fini(bochs);
0a6659bd Gerd Hoffmann 2013-12-17 31 bochs_kms_fini(bochs);
0a6659bd Gerd Hoffmann 2013-12-17 32 bochs_mm_fini(bochs);
0a6659bd Gerd Hoffmann 2013-12-17 33 bochs_hw_fini(dev);
0a6659bd Gerd Hoffmann 2013-12-17 34 kfree(bochs);
0a6659bd Gerd Hoffmann 2013-12-17 35 dev->dev_private = NULL;
0a6659bd Gerd Hoffmann 2013-12-17 36 }
0a6659bd Gerd Hoffmann 2013-12-17 37
0a6659bd Gerd Hoffmann 2013-12-17...