functions to
host1x bo objects.
Signed-off-by: Arto Merilainen
---
drivers/gpu/drm/tegra/gem.c | 34 +++---
1 file changed, 31 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
index 1217272a51f2..89ca8d35f555 100644
--- a
Hi Thierry,
Thank you for your thorough analysis - and sorry for a bunch of very
silly mistakes.
I am skipping most trivial parts and focus on the trickier comments and
questions.
On 05/22/2015 02:47 PM, Thierry Reding wrote:
+
+ struct tegra_bo *ucode_bo;
+ bool ucode_valid;
+
On 05/22/2015 01:25 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
On Thu, May 21, 2015 at 05:40:31PM +0300, Mikko Perttunen wrote:
On 05/21/2015 04:20 PM, Arto Merilainen wrote:
[...]
+static int vic_is_addr_reg(struct device *dev, u32 class, u32 offset, u32 val)
+{
+ struct
Hi Thierry,
On 05/22/2015 01:02 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
On Thu, May 21, 2015 at 06:44:08PM +0300, Mikko Perttunen wrote:
On 05/21/2015 06:10 PM, Arto Merilainen wrote:
...
+
+vic->rst = devm_reset_control_get(dev, "vic03");
I might prefer
Hi Thierry,
On 05/22/2015 01:02 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
On Thu, May 21, 2015 at 06:44:08PM +0300, Mikko Perttunen wrote:
On 05/21/2015 06:10 PM, Arto Merilainen wrote:
...
+
+vic->rst = devm_reset_control_get(dev, "vic03");
I might prefer
separate patch.
Will do.
On 05/21/2015 04:20 PM, Arto Merilainen wrote:
This patch adds support for Video Image Compositor engine which
can be used for 2d operations.
The engine has a microcontroller (Falcon) that acts as a frontend
for the rest of the unit. In order to properly utilize the engine
also
storing the device address (physical or iova) to this buffer.
This patch reworks the host1x_job_pin() to store the device address
to all gathers.
Signed-off-by: Andrew Chew
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/job.c | 9 ++---
1 file changed, 6 insertions(+), 3
either address or data field.
This patch updates the firewall interface to deliver also the register
value to allow book-keeping inside the engine driver.
Signed-off-by: Arto Merilainen
---
drivers/gpu/drm/tegra/drm.h | 4 ++--
drivers/gpu/drm/tegra/gr2d.c | 4 ++--
drivers/gpu/drm/tegra
-by: Andrew Chew
Signed-off-by: Arto Merilainen
---
drivers/gpu/drm/tegra/Makefile | 3 +-
drivers/gpu/drm/tegra/drm.c| 9 +-
drivers/gpu/drm/tegra/drm.h| 1 +
drivers/gpu/drm/tegra/vic.c| 593 +
drivers/gpu/drm/tegra/vic.h| 116
This patch adds VIC device tree node for Video Image Compositor.
Signed-off-by: Arto Merilainen
---
arch/arm/boot/dts/tegra124.dtsi | 11 +++
1 file changed, 11 insertions(+)
diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
index 13cc7ca5e031..626355693a41
] https://developer.nvidia.com/linux-tegra
(*) Currently Tegra DRM does not support mapping the host1x command buffers
into kernel address space in case IOMMU is enabled.
Arto Merilainen (4):
host1x: Store device address to all bufs
host1x: Pass register value in firewall
drm/tegra: Add VIC
r from the series in different places
easily. Without proper interfacing everyone ends up duplicating the code.
- Arto
Cheers,
MyungJoo.
Arto Merilainen (1):
PM / devfreq: Add watermark active governor
Shridhar Rasal (2):
PM / devfreq: Add watermark events
PM / devfreq: Add wat
Rasal
Signed-off-by: Arto Merilainen
---
drivers/devfreq/Kconfig | 7 +
drivers/devfreq/Makefile| 1 +
drivers/devfreq/governor_wmark_simple.c | 245
3 files changed, 253 insertions(+)
create mode 100644 drivers/devfreq
From: Shridhar Rasal
This patch adds support for watermark events. These events inform
the governor that the device load has gone below (low watermark) or
above (high watermark) certain load value.
Signed-off-by: Shridhar Rasal
Signed-off-by: Arto Merilainen
---
drivers/devfreq/devfreq.c
order get interrupts only when the load value
would affect to the current frequency in re-estimation.
Arto Merilainen (1):
PM / devfreq: Add watermark active governor
Shridhar Rasal (2):
PM / devfreq: Add watermark events
PM / devfreq: Add watermark simple governor
drivers/devfreq/Kconfig
frequency.
Signed-off-by: Arto Merilainen
---
drivers/devfreq/Kconfig | 11 ++
drivers/devfreq/Makefile| 1 +
drivers/devfreq/governor_wmark_active.c | 276
3 files changed, 288 insertions(+)
create mode 100644 drivers/devfreq
Rasal
Signed-off-by: Arto Merilainen
---
drivers/devfreq/Kconfig | 7 +
drivers/devfreq/Makefile| 1 +
drivers/devfreq/governor_wmark_simple.c | 245
3 files changed, 253 insertions(+)
create mode 100644 drivers/devfreq
frequency.
Signed-off-by: Arto Merilainen
---
drivers/devfreq/Kconfig | 11 ++
drivers/devfreq/Makefile| 1 +
drivers/devfreq/governor_wmark_active.c | 276
3 files changed, 288 insertions(+)
create mode 100644 drivers/devfreq
From: Shridhar Rasal
This patch adds support for watermark events. These events inform
the governor that the device load has gone below (low watermark) or
above (high watermark) certain load value.
Signed-off-by: Shridhar Rasal
Signed-off-by: Arto Merilainen
---
drivers/devfreq/devfreq.c
below 10% and high watermark interrupt when
the load goes above 60%. Watermark active tries to keep load at
certain level and it actively sets thresholds based on the
frequency table in order get interrupts only when the load value
would affect to the current frequency in re-estimation.
Arto
can easily add more information while requesting a syncpoint.
Clients are adapted to use the new interface accordingly.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/gr2d.c | 2 +-
drivers/gpu/host1x/syncpt.c | 14 +++---
drivers/gpu/host1x/syncpt.h | 3 ++-
3 files changed,
This patch modifies the gr2d to reserve a base for syncpoint.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/gr2d.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/host1x/drm/gr2d.c b/drivers/gpu/host1x/drm/gr2d.c
index 7efd97b..337e1ad 100644
--- a
This patch adds a separate ioctl for delivering syncpoint base number
to user space. If the syncpoint does not have an associated base, the
function returns -ENXIO.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/drm.c | 25 +
include/uapi/drm/tegra_drm.h | 26
This patch adds support for hardware syncpoint bases. This creates
a simple mechanism to stall the command FIFO until an operation is
completed.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/dev.h | 2 ++
drivers/gpu/host1x/hw/channel_hw.c | 19
instead of separate boolean arguments
- Added a separate ioctl call for querying the base associated with some
syncpoint
[0] https://gitorious.org/linux-host1x/libdrm-host1x
Arto Merilainen (4):
gpu: host1x: Add 'flags' field to syncpt request
gpu: host1x: Add syncpoint base support
modifies the code to use dma_mapping API for mapping
buffers to user space.
Signed-off-by: Arto Merilainen
---
I tested this patch on cardhu using Hiroshi Doyu's series "Unified SMMU
driver among Tegra SoCs" and using just pure Linux 3.12rc4. I have not
tested this on T20 so I would a
On 10/11/2013 12:39 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
On Wed, Oct 09, 2013 at 02:54:08PM +0300, Arto Merilainen wrote:
This patch adds support for hardware syncpoint bases. This creates
a simple mechanism for waiting an operation to complete in the middle
of the command
On 10/11/2013 12:43 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
On Wed, Oct 09, 2013 at 02:54:09PM +0300, Arto Merilainen wrote:
This patch makes the necessary additions to deliver syncpoint base
to the user space.
This patch splits the index field in the drm_tegra_get_syncpt
This patch adds support for hardware syncpoint bases. This creates
a simple mechanism for waiting an operation to complete in the middle
of the command buffer.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/dev.h | 2 ++
drivers/gpu/host1x/hw/channel_hw.c | 19
test_wait_base() in tests/tegra/host1x/tegra_host1x_test.c) on cardhu.
I would appreciate help in reviewing the series and testing the patches
on other boards.
[0] https://gitorious.org/linux-host1x/libdrm-host1x
Arto Merilainen (3):
gpu: host1x: Add syncpoint base support
drm/tegra: Deliver
.
- Old kernels left support_base and base_id fields intact (zero) and
hence the new user space applications get the correct response from
the kernel (=syncpoint does not have a base).
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/drm.c | 2 ++
include/uapi/drm/tegra_drm.h | 4
This patch modifies the gr2d to reserve a base for syncpoint.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/gr2d.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/host1x/drm/gr2d.c b/drivers/gpu/host1x/drm/gr2d.c
index 27ffcf1..f0c3fd5 100644
--- a
remove).
Signed-off-by: Mayuresh Kulkarni
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/dc.c | 59 +++--
1 file changed, 51 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/host1x/drm/dc.c b/drivers/gpu/host1x/drm/dc.c
index b1a05ad
From: Mayuresh Kulkarni
This patch moves function host1x_job_submit() to job.c file where
all other host1x_job_* functions are placed. This patch also
introduces function host1x_job_complete().
Signed-off-by: Mayuresh Kulkarni
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/cdma.c
gr2d initialisation clean up had missing steps (i.e. host1x channel
was not released if we could not register gr2d as a host1x client)
that could have lead to weird issues. This patch reworks the
initialisation sequence to do clean up correctly.
Signed-off-by: Arto Merilainen
---
drivers/gpu
From: Mayuresh Kulkarni
This patch adds runtime pm support for host1x hardware unit. This
allows host1x clock to be turned off when it is idle. If pm runtime
is not configured, we enable host1x clock in device probe and disable
it in remove.
Signed-off-by: Mayuresh Kulkarni
Signed-off-by: Arto
remove.
Signed-off-by: Mayuresh Kulkarni
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/gr2d.c | 52 +--
drivers/gpu/host1x/job.c | 5 +++--
2 files changed, 48 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/host1x/drm/gr2d.c b
12-rc2
- Removed unnecessary #ifdefs
- Added descriptions to commit messages
- If runtime pm is disabled, the code calls suspend/resume functions
for enabling/disabling the clocks instead of repeating the functions
Arto Merilainen (1):
drm/tegra: Fix gr2d initialisation clean up
Mayuresh Kulka
consumed.
Signed-off-by: Erik Faye-Lund
Reviewed-by: Arto Merilainen
- Arto
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read
On 10/01/2013 09:17 PM, Stephen Warren wrote:
On 09/24/2013 06:05 AM, Arto Merilainen wrote:
From: Mayuresh Kulkarni
This patch adds runtime pm support for host1x hardware unit. This
allows host1x clock to be turned off when it is idle. If pm runtime
is not configured, we enable host1x clock
On 10/01/2013 09:14 PM, Stephen Warren wrote:
On 09/24/2013 06:05 AM, Arto Merilainen wrote:
diff --git a/drivers/gpu/host1x/drm/gr2d.c b/drivers/gpu/host1x/drm/gr2d.c
@@ -327,11 +336,48 @@ static int __exit gr2d_remove(struct platform_device
*pdev)
host1x_syncpt_free(gr2d
This series adds runtime pm support for host1x, gr2d and dc. It retains the
current behaviour if CONFIG_PM_RUNTIME is not enabled.
The gr2d clock is enabled when a new job is submitted and disabled when
the work is done. Due to parent->child relations between host1x->gr2d, this
scheme enables and
From: Mayuresh Kulkarni
This patch moves function host1x_job_submit() to job.c file where
all other host1x_job_* functions are placed. This patch also
introduces function host1x_job_complete().
Signed-off-by: Mayuresh Kulkarni
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/cdma.c
remove.
Signed-off-by: Mayuresh Kulkarni
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/gr2d.c | 57 +++
drivers/gpu/host1x/job.c | 5 ++--
2 files changed, 55 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/host1x/drm/gr2d.c b
From: Mayuresh Kulkarni
This patch adds runtime pm support for host1x hardware unit. This
allows host1x clock to be turned off when it is idle. If pm runtime
is not configured, we enable host1x clock in device probe and disable
it in remove.
Signed-off-by: Mayuresh Kulkarni
Signed-off-by: Arto
remove).
Signed-off-by: Mayuresh Kulkarni
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/dc.c | 58 +
1 file changed, 53 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/host1x/drm/dc.c b/drivers/gpu/host1x/drm/dc.c
index b1a05ad
On 05/29/2013 02:21 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
* Arto Merilainen wrote:
[...]
diff --git a/drivers/gpu/host1x/job.c b/drivers/gpu/host1x/job.c
[...]
@@ -553,7 +549,6 @@ int host1x_job_pin(struct host1x_job *job, struct device
*dev)
if (!err
From: Terje Bergstrom
The firewall code used a wrong loop condition (pointer to a
structure) while checking INCR opcode. This patch fixes the code to
use correct loop condition (number of words remaining).
Signed-off-by: Terje Bergstrom
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x
nux-host1x/libdrm-host1x
Arto Merilainen (5):
gpu: host1x: Check reloc table before usage
gpu: host1x: Copy gathers before verification
gpu: host1x: Fix memory access in syncpt request
gpu: host1x: Fix client_managed type
gpu: host1x: Rework CPU syncpoint increment
Terje Bergstrom (2):
g
The firewall verified gather buffers before copying them. This
allowed a malicious application to rewrite the buffer content by
timing the rewrite carefully.
This patch makes the buffer validation occur after copying the
buffers.
Signed-off-by: Arto Merilainen
Signed-off-by: Terje Bergstrom
correctly that the firewall
table is available before accessing it. In addition, check_reloc() is
converted to use boolean return value (true when the reloc is valid,
false when invalid).
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/job.c | 26 +-
1 file changed, 13
This patch fixes a bad memory access in syncpoint request code. If
no syncpoints were available, the code accessed unreserved memory
area causing unexpected behaviour.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/syncpt.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff
This patch merges host1x_syncpt_cpu_incr to host1x_syncpt_incr() as
they are in practise doing the same thing. host1x_syncpt_incr() is
also modified to return error codes. User space interface is modified
accordingly to pass return values.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x
client_managed field in syncpoint structure was defined as an
integer. The field holds, however, only a boolean value. This patch
modifies the type to boolean.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/gr2d.c | 2 +-
drivers/gpu/host1x/syncpt.c | 8
drivers/gpu/host1x
having knowledge about that.
Signed-off-by: Terje Bergstrom
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/job.c | 73 ++--
1 file changed, 34 insertions(+), 39 deletions(-)
diff --git a/drivers/gpu/host1x/job.c b/drivers/gpu/host1x/job.c
index
On 05/26/2013 01:15 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
On Fri, May 17, 2013 at 02:49:45PM +0300, Arto Merilainen wrote:
This patch fixes a bad memory access in syncpoint request code. If
no syncpoints were available, the code accessed unreserved memory
area causing
On 05/26/2013 01:12 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
On Fri, May 17, 2013 at 02:49:44PM +0300, Arto Merilainen wrote:
Syncpoint wait returned EAGAIN if it was called with zero timeout.
This patch modifies the function to return ETIMEDOUT.
This description is a bit
On 05/26/2013 01:02 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
On Fri, May 17, 2013 at 02:49:43PM +0300, Arto Merilainen wrote:
From: Terje Bergstrom
This patch adds several fixes to host1x firewall:
- Host1x firewall does not survive if it expects a reloc, but user
space
This patch fixes a bad memory access in syncpoint request code. If
no syncpoints were available, the code accessed unreserved memory
area causing unexpected behaviour.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/syncpt.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff
This patch merges host1x_syncpt_cpu_incr to host1x_syncpt_incr() as
they are in practise doing the same thing. host1x_syncpt_incr() is also
modified to return error codes.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/dev.h |8
drivers/gpu/host1x/hw/cdma_hw.c
client_managed field in syncpoint structure was defined as an
integer. The field holds, however, only a boolean value. This patch
modifies the type to boolean.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/gr2d.c |2 +-
drivers/gpu/host1x/syncpt.c |8
drivers/gpu
Add syncpoint increment to return a proper return code based on the
return value from host1x.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/drm/drm.c |3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/host1x/drm/drm.c b/drivers/gpu/host1x/drm/drm.c
Syncpoint wait returned EAGAIN if it was called with zero timeout.
This patch modifies the function to return ETIMEDOUT.
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/syncpt.c |4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/host1x/syncpt.c b
s the buffer
validation occur after copying the buffers.
Signed-off-by: Terje Bergstrom
Signed-off-by: Arto Merilainen
---
drivers/gpu/host1x/job.c | 120 --
1 file changed, 53 insertions(+), 67 deletions(-)
diff --git a/drivers/gpu/host1x/jo
also to the userspace.
The series is based on top of 3.10rc1. I have tested the patch series
on cardhu by running host1x and gr2d test cases (available at [0]).
I would appreciate any help in testing/reviewing these patches.
[0] https://gitorious.org/linux-host1x/libdrm-host1x
Arto Merilainen (5
On 12/20/2012 07:14 PM, Stephen Warren wrote:
What's wrong with just having each device ask the host1x (its parent)
for a pointer to the (dummy) tegradrm device. That seems extremely
We are talking about creating a dummy device because:
- we need to give something for drm_platform_init(),
- d
66 matches
Mail list logo