Commit 14dd37fc authored by Eric Anholt's avatar Eric Anholt Committed by Greg Kroah-Hartman

staging: vc04_services: Remove cache-line-size property (v3)

It's been tempting to replace this with (L1) cache_line_size(), but
that's really not what the value is about.  It's about coordinating
the condition for the pagelist fragment behavior between the two
sides.  However, the property was not accepted for the upstream DT
binding, so we have to use the firmware's fallback value.
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8b021796
...@@ -77,7 +77,17 @@ struct vchiq_pagelist_info { ...@@ -77,7 +77,17 @@ struct vchiq_pagelist_info {
}; };
static void __iomem *g_regs; static void __iomem *g_regs;
static unsigned int g_cache_line_size = sizeof(CACHE_LINE_SIZE); /* This value is the size of the L2 cache lines as understood by the
* VPU firmware, which determines the required alignment of the
* offsets/sizes in pagelists.
*
* Modern VPU firmware looks for a DT "cache-line-size" property in
* the VCHIQ node and will overwrite it with the actual L2 cache size,
* which the kernel must then respect. That property was rejected
* upstream, so we have to use the VPU firmware's compatibility value
* of 32.
*/
static unsigned int g_cache_line_size = 32;
static unsigned int g_fragments_size; static unsigned int g_fragments_size;
static char *g_fragments_base; static char *g_fragments_base;
static char *g_free_fragments; static char *g_free_fragments;
...@@ -117,14 +127,6 @@ int vchiq_platform_init(struct platform_device *pdev, VCHIQ_STATE_T *state) ...@@ -117,14 +127,6 @@ int vchiq_platform_init(struct platform_device *pdev, VCHIQ_STATE_T *state)
if (err < 0) if (err < 0)
return err; return err;
err = of_property_read_u32(dev->of_node, "cache-line-size",
&g_cache_line_size);
if (err) {
dev_err(dev, "Missing cache-line-size property\n");
return -ENODEV;
}
g_fragments_size = 2 * g_cache_line_size; g_fragments_size = 2 * g_cache_line_size;
/* Allocate space for the channels in coherent memory */ /* Allocate space for the channels in coherent memory */
......
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
#ifndef VCHIQ_PAGELIST_H #ifndef VCHIQ_PAGELIST_H
#define VCHIQ_PAGELIST_H #define VCHIQ_PAGELIST_H
#define CACHE_LINE_SIZE 32
#define PAGELIST_WRITE 0 #define PAGELIST_WRITE 0
#define PAGELIST_READ 1 #define PAGELIST_READ 1
#define PAGELIST_READ_WITH_FRAGMENTS 2 #define PAGELIST_READ_WITH_FRAGMENTS 2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment