From: Eric Anholt <eric@anholt.net>
To: Florian Fainelli <f.fainelli@gmail.com>,
Mark Rutland <mark.rutland@arm.com>,
Rob Herring <robh+dt@kernel.org>,
devicetree@vger.kernel.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Phil Elwell <phil@raspberrypi.org>
Cc: linux-rpi-kernel@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Stefan Wahren <stefan.wahren@i2se.com>,
bcm-kernel-feedback-list@broadcom.com,
Eric Anholt <eric@anholt.net>
Subject: [PATCH 2/5] staging: vc04_services: Remove cache-line-size property.
Date: Mon, 5 Mar 2018 12:28:03 -0800 [thread overview]
Message-ID: <20180305202806.21219-3-eric@anholt.net> (raw)
In-Reply-To: <20180305202806.21219-1-eric@anholt.net>
This was just a way for the DT-passed value to get out of sync with
what Linux has configured the ARM for.
Signed-off-by: Eric Anholt <eric@anholt.net>
---
.../interface/vchiq_arm/vchiq_2835_arm.c | 25 +++++++---------------
.../interface/vchiq_arm/vchiq_pagelist.h | 1 -
2 files changed, 8 insertions(+), 18 deletions(-)
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
index b59ef14890aa..e0e01c812036 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
@@ -77,7 +77,6 @@ struct vchiq_pagelist_info {
};
static void __iomem *g_regs;
-static unsigned int g_cache_line_size = sizeof(CACHE_LINE_SIZE);
static unsigned int g_fragments_size;
static char *g_fragments_base;
static char *g_free_fragments;
@@ -117,15 +116,7 @@ int vchiq_platform_init(struct platform_device *pdev, VCHIQ_STATE_T *state)
if (err < 0)
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 * cache_line_size();
/* Allocate space for the channels in coherent memory */
slot_mem_size = PAGE_ALIGN(TOTAL_SLOTS * VCHIQ_SLOT_SIZE);
@@ -548,9 +539,9 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
/* Partial cache lines (fragments) require special measures */
if ((type == PAGELIST_READ) &&
- ((pagelist->offset & (g_cache_line_size - 1)) ||
+ ((pagelist->offset & (cache_line_size() - 1)) ||
((pagelist->offset + pagelist->length) &
- (g_cache_line_size - 1)))) {
+ (cache_line_size() - 1)))) {
char *fragments;
if (down_interruptible(&g_free_fragments_sema) != 0) {
@@ -598,10 +589,10 @@ free_pagelist(struct vchiq_pagelist_info *pagelistinfo,
g_fragments_size;
int head_bytes, tail_bytes;
- head_bytes = (g_cache_line_size - pagelist->offset) &
- (g_cache_line_size - 1);
+ head_bytes = (cache_line_size() - pagelist->offset) &
+ (cache_line_size() - 1);
tail_bytes = (pagelist->offset + actual) &
- (g_cache_line_size - 1);
+ (cache_line_size() - 1);
if ((actual >= 0) && (head_bytes != 0)) {
if (head_bytes > actual)
@@ -617,8 +608,8 @@ free_pagelist(struct vchiq_pagelist_info *pagelistinfo,
(tail_bytes != 0)) {
memcpy((char *)kmap(pages[num_pages - 1]) +
((pagelist->offset + actual) &
- (PAGE_SIZE - 1) & ~(g_cache_line_size - 1)),
- fragments + g_cache_line_size,
+ (PAGE_SIZE - 1) & ~(cache_line_size() - 1)),
+ fragments + cache_line_size(),
tail_bytes);
kunmap(pages[num_pages - 1]);
}
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_pagelist.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
index a6c5f7cc78f0..bec411061554 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
@@ -34,7 +34,6 @@
#ifndef VCHIQ_PAGELIST_H
#define VCHIQ_PAGELIST_H
-#define CACHE_LINE_SIZE 32
#define PAGELIST_WRITE 0
#define PAGELIST_READ 1
#define PAGELIST_READ_WITH_FRAGMENTS 2
--
2.16.2
next prev parent reply other threads:[~2018-03-05 20:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-05 20:28 [PATCH 0/5] VCHI DT bindings Eric Anholt
2018-03-05 20:28 ` [PATCH 1/5] staging: vc04_services: Remove dead FRAGMENTS_T Eric Anholt
2018-03-05 20:28 ` Eric Anholt [this message]
2018-03-06 10:30 ` [PATCH 2/5] staging: vc04_services: Remove cache-line-size property Stefan Wahren
2018-03-06 19:02 ` Eric Anholt
2018-03-07 8:02 ` Phil Elwell
2018-03-07 12:10 ` Stefan Wahren
2018-03-07 12:39 ` Phil Elwell
2018-03-07 17:51 ` Eric Anholt
2018-03-05 20:28 ` [PATCH 3/5] dt-bindings: soc: Add a binding for the Broadcom VCHI services Eric Anholt
2018-03-05 20:51 ` Rob Herring
2018-03-05 20:28 ` [PATCH 4/5] ARM: dts: bcm2835: Add VCHI node to the Raspberry Pi boards Eric Anholt
2018-03-05 20:28 ` [PATCH 5/5] staging: vc04_services: Mark the "DT bindings" job done Eric Anholt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180305202806.21219-3-eric@anholt.net \
--to=eric@anholt.net \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rpi-kernel@lists.infradead.org \
--cc=mark.rutland@arm.com \
--cc=phil@raspberrypi.org \
--cc=robh+dt@kernel.org \
--cc=stefan.wahren@i2se.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome