search for: reset_control_assert

Displaying 20 results from an estimated 24 matches for "reset_control_assert".

2015 Jan 06
2
[PATCH 2/11] memory: tegra: add mc flush support
...ns { ... gpu { resets = <&tegra_car 184>, <&mc TEGRA_SWGROUP_GPU>; reset-names = "module", "client"; }; ... }; }; The PMC driver could then grab the "module" and "client" resets and do something like this: reset_control_assert(powergate->rst_client); reset_control_assert(powergate->rst_module); reset_control_deassert(powergate->rst_module); reset_control_deassert(powergate->rst_client); Optionally the above could be extended with a reset_control_status()- loop. Alternatively reset_control_assert() would b...
2015 Jan 07
0
[PATCH 2/11] memory: tegra: add mc flush support
...;, > <&mc TEGRA_SWGROUP_GPU>; > reset-names = "module", "client"; > }; > > ... > }; > }; > > The PMC driver could then grab the "module" and "client" resets and do > something like this: > > reset_control_assert(powergate->rst_client); > reset_control_assert(powergate->rst_module); > reset_control_deassert(powergate->rst_module); > reset_control_deassert(powergate->rst_client); > > Optionally the above could be extended with a reset_control_status()- > loop. Alternatively...
2017 Jun 09
4
[PATCH 1/3] drm/nouveau/tegra: Skip manual unpowergating when not necessary
...ice/tegra.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c index 6474bd2a6d07..3d42cdbbe9c0 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c @@ -51,10 +51,12 @@ nvkm_device_tegra_power_up(struct nvkm_device_tegra *tdev) reset_control_assert(tdev->rst); udelay(10); - ret = tegra_powergate_remove_clamping(TEGRA_POWERGATE_3D); - if (ret) - goto err_clamp; - udelay(10); + if (!tdev->pdev->dev.pm_domain) { + ret = tegra_powergate_remove_clamping(TEGRA_POWERGATE_3D); + if (ret) + goto err_clamp; + udelay(10); + } rese...
2014 Dec 24
2
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) > { > int err; > > + tegra_mc_flush(gpu->mc, gpu->swgroup, true); > + udelay(10); > + > + err = tegra_powergate_gpu_set_clamping(true); > + if (err) > + return err; > + udelay(10); > + > reset_control_assert(gpu->rst); > udelay(10); > > @@ -91,6 +104,31 @@ static int nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) > return 0; > } > > +static int nouveau_platform_get_mc(struct device *dev, > + struct tegra_mc **mc, unsigned int *swgroup) Uhm, no. If th...
2015 Jan 05
2
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...>> int err; > >>+ tegra_mc_flush(gpu->mc, gpu->swgroup, true); > >>+ udelay(10); > >>+ > >>+ err = tegra_powergate_gpu_set_clamping(true); > >>+ if (err) > >>+ return err; > >>+ udelay(10); > >>+ > >> reset_control_assert(gpu->rst); > >> udelay(10); > >>@@ -91,6 +104,31 @@ static int nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) > >> return 0; > >> } > >>+static int nouveau_platform_get_mc(struct device *dev, > >>+ struct tegra_mc **mc, u...
2015 Jan 06
2
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...pu->swgroup, true); > >>>>+ udelay(10); > >>>>+ > >>>>+ err = tegra_powergate_gpu_set_clamping(true); > >>>>+ if (err) > >>>>+ return err; > >>>>+ udelay(10); > >>>>+ > >>>> reset_control_assert(gpu->rst); > >>>> udelay(10); > >>>>@@ -91,6 +104,31 @@ static int nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) > >>>> return 0; > >>>> } > >>>>+static int nouveau_platform_get_mc(struct device *dev,...
2014 Dec 23
18
[PATCH 0/11] Add suspend/resume support for GK20A
Hi, This series includes some pieces of fixes to complete the GK20A power on/off sequences and add the suspend/resume support. The patches 1/11 - 4/11 are based on the linux-next-20141219. The patches 5/11 - 11/11 are based on the branch "linux-3.19" of Ben Skeggs's tree (http://cgit.freedesktop.org/~darktama/nouveau). Thanks, Vince Vince Hsu (4): (linux-next-20141219) ARM:
2015 Jan 06
2
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...; > >>>>>>+ > >>>>>>+ err = tegra_powergate_gpu_set_clamping(true); > >>>>>>+ if (err) > >>>>>>+ return err; > >>>>>>+ udelay(10); > >>>>>>+ > >>>>>> reset_control_assert(gpu->rst); > >>>>>> udelay(10); > >>>>>>@@ -91,6 +104,31 @@ static int nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) > >>>>>> return 0; > >>>>>> } > >>>>>>+static int nou...
2014 Jun 26
0
[PATCH v3 1/3] drm/nouveau: support for probing platform devices
...gpu) +{ + int err; + + err = regulator_enable(gpu->vdd); + if (err) + goto err_power; + + err = clk_prepare_enable(gpu->clk); + if (err) + goto err_clk; + err = clk_prepare_enable(gpu->clk_pwr); + if (err) + goto err_clk_pwr; + clk_set_rate(gpu->clk_pwr, 204000000); + udelay(10); + + reset_control_assert(gpu->rst); + udelay(10); + + err = tegra_powergate_remove_clamping(TEGRA_POWERGATE_3D); + if (err) + goto err_clamp; + udelay(10); + + reset_control_deassert(gpu->rst); + udelay(10); + + return 0; + +err_clamp: + clk_disable_unprepare(gpu->clk_pwr); +err_clk_pwr: + clk_disable_unprepare(g...
2017 Jun 09
0
[PATCH 2/3] drm/nouveau/tegra: Don't leave GPU in reset
...ivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c index 3d42cdbbe9c0..189ed80e21ff 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c @@ -82,9 +82,6 @@ nvkm_device_tegra_power_down(struct nvkm_device_tegra *tdev) { int ret; - reset_control_assert(tdev->rst); - udelay(10); - clk_disable_unprepare(tdev->clk_pwr); if (tdev->clk_ref) clk_disable_unprepare(tdev->clk_ref); -- 2.13.0
2017 Jun 12
0
[PATCH 1/3] drm/nouveau/tegra: Skip manual unpowergating when not necessary
.../drm/nouveau/nvkm/engine/device/tegra.c > index 6474bd2a6d07..3d42cdbbe9c0 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c > +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/tegra.c > @@ -51,10 +51,12 @@ nvkm_device_tegra_power_up(struct nvkm_device_tegra *tdev) > reset_control_assert(tdev->rst); > udelay(10); > > - ret = tegra_powergate_remove_clamping(TEGRA_POWERGATE_3D); > - if (ret) > - goto err_clamp; > - udelay(10); > + if (!tdev->pdev->dev.pm_domain) { > + ret = tegra_powergate_remove_clamping(TEGRA_POWERGATE_3D); > + if (ret) &g...
2014 Dec 23
0
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...); + return 0; err_clamp: @@ -77,6 +82,14 @@ static int nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) { int err; + tegra_mc_flush(gpu->mc, gpu->swgroup, true); + udelay(10); + + err = tegra_powergate_gpu_set_clamping(true); + if (err) + return err; + udelay(10); + reset_control_assert(gpu->rst); udelay(10); @@ -91,6 +104,31 @@ static int nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) return 0; } +static int nouveau_platform_get_mc(struct device *dev, + struct tegra_mc **mc, unsigned int *swgroup) +{ + struct of_phandle_args args; + struct platform_dev...
2014 Jun 26
6
[PATCH v3 0/3] drm/nouveau: support for probing platform devices
This series adds support for probing platform devices on Nouveau, as well as the DT bindings for GK20A. It doesn't enable the GPU yet on Tegra boards since a few extra things need to be supported before that. This version is mostly identical to v2 but fixes an important issue: the drvdata must be set to the drm_device for sysfs to work, so the platform device structure now includes the
2014 Dec 25
0
[PATCH nouveau 06/11] platform: complete the power up/down sequence
..._gpu *gpu) >> { >> int err; >> >> + tegra_mc_flush(gpu->mc, gpu->swgroup, true); >> + udelay(10); >> + >> + err = tegra_powergate_gpu_set_clamping(true); >> + if (err) >> + return err; >> + udelay(10); >> + >> reset_control_assert(gpu->rst); >> udelay(10); >> >> @@ -91,6 +104,31 @@ static int nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) >> return 0; >> } >> >> +static int nouveau_platform_get_mc(struct device *dev, >> + struct tegra_mc **mc, u...
2014 Jun 13
3
[PATCH v2 0/3] drm/nouveau: support for probing platform devices
This series adds support for probing platform devices on Nouveau, as well as the DT bindings for GK20A. It doesn't enable the GPU yet on Tegra boards since a few extra things need to be supported before that. Thanks to the input received for v1, this version is more self-contained and shares less stuff between nouveau_drm and nouveau_platform. The major change is that nouveau_platform is now
2014 Jun 26
2
[PATCH v3 1/3] drm/nouveau: support for probing platform devices
...+ if (err) > + goto err_power; > + > + err = clk_prepare_enable(gpu->clk); > + if (err) > + goto err_clk; > + err = clk_prepare_enable(gpu->clk_pwr); > + if (err) > + goto err_clk_pwr; > + clk_set_rate(gpu->clk_pwr, 204000000); > + udelay(10); > + > + reset_control_assert(gpu->rst); > + udelay(10); > + > + err = tegra_powergate_remove_clamping(TEGRA_POWERGATE_3D); > + if (err) > + goto err_clamp; > + udelay(10); > + > + reset_control_deassert(gpu->rst); > + udelay(10); > + > + return 0; > + > +err_clamp: > + clk_disab...
2015 Jan 06
0
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...; + tegra_mc_flush(gpu->mc, gpu->swgroup, true); >>>> + udelay(10); >>>> + >>>> + err = tegra_powergate_gpu_set_clamping(true); >>>> + if (err) >>>> + return err; >>>> + udelay(10); >>>> + >>>> reset_control_assert(gpu->rst); >>>> udelay(10); >>>> @@ -91,6 +104,31 @@ static int nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) >>>> return 0; >>>> } >>>> +static int nouveau_platform_get_mc(struct device *dev, >>>> +...
2015 Jan 06
0
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...gt;>>> + udelay(10); >>>>>> + >>>>>> + err = tegra_powergate_gpu_set_clamping(true); >>>>>> + if (err) >>>>>> + return err; >>>>>> + udelay(10); >>>>>> + >>>>>> reset_control_assert(gpu->rst); >>>>>> udelay(10); >>>>>> @@ -91,6 +104,31 @@ static int nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) >>>>>> return 0; >>>>>> } >>>>>> +static int nouveau_platform_get_mc...
2015 Jan 06
0
[PATCH nouveau 06/11] platform: complete the power up/down sequence
...;+ > > >>>>>>+ err = tegra_powergate_gpu_set_clamping(true); > > >>>>>>+ if (err) > > >>>>>>+ return err; > > >>>>>>+ udelay(10); > > >>>>>>+ > > >>>>>> reset_control_assert(gpu->rst); > > >>>>>> udelay(10); > > >>>>>>@@ -91,6 +104,31 @@ static int nouveau_platform_power_down(struct nouveau_platform_gpu *gpu) > > >>>>>> return 0; > > >>>>>> } > > >>>&g...
2019 Nov 02
13
[PATCH v2 0/9] drm/nouveau: Various fixes for GP10B
From: Thierry Reding <treding at nvidia.com> Hi Ben, here's a revised subset of the patches I had sent out a couple of weeks ago. I've reworked the BAR2 accesses in the way that you had suggested, which at least for GP10B turned out to be fairly trivial to do. I have not looked in detail at this for GV11B yet, but a cursory look showed that BAR2 is accessed in more places, so the