summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch76
1 files changed, 76 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
new file mode 100644
index 0000000000..32def9e8d5
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
@@ -0,0 +1,76 @@
1From a9b3500bd14609750a2337e866e1df62627c1bac Mon Sep 17 00:00:00 2001
2From: Imre Deak <imre.deak@nokia.com>
3Date: Mon, 20 Apr 2009 14:55:33 +0200
4Subject: [PATCH] DSS2: add sysfs entry for seting the rotate type
5
6This can help in utilizing VRAM memory better. Since with VRFB rotation
7we waste a lot of physical memory due to the VRFB HW design, provide the
8possibility to turn it off and free the extra memory for the use by other
9planes for example.
10---
11 drivers/video/omap2/omapfb/omapfb-sysfs.c | 42 ++++++++++++++++++++++++++++-
12 1 files changed, 41 insertions(+), 1 deletions(-)
13
14diff --git a/drivers/video/omap2/omapfb/omapfb-sysfs.c b/drivers/video/omap2/omapfb/omapfb-sysfs.c
15index 2c88718..4e3da42 100644
16--- a/drivers/video/omap2/omapfb/omapfb-sysfs.c
17+++ b/drivers/video/omap2/omapfb/omapfb-sysfs.c
18@@ -43,6 +43,46 @@ static ssize_t show_rotate_type(struct device *dev,
19 return snprintf(buf, PAGE_SIZE, "%d\n", ofbi->rotation_type);
20 }
21
22+static ssize_t store_rotate_type(struct device *dev,
23+ struct device_attribute *attr,
24+ const char *buf, size_t count)
25+{
26+ struct fb_info *fbi = dev_get_drvdata(dev);
27+ struct omapfb_info *ofbi = FB2OFB(fbi);
28+ struct omapfb2_device *fbdev = ofbi->fbdev;
29+ enum omap_dss_rotation_type rot_type;
30+ int r;
31+
32+ rot_type = simple_strtoul(buf, NULL, 0);
33+
34+ if (rot_type != OMAP_DSS_ROT_DMA && rot_type != OMAP_DSS_ROT_VRFB)
35+ return -EINVAL;
36+
37+ omapfb_lock(fbdev);
38+
39+ r = 0;
40+ if (rot_type == ofbi->rotation_type)
41+ goto out;
42+
43+ r = -EBUSY;
44+ if (ofbi->region.size)
45+ goto out;
46+
47+ ofbi->rotation_type = rot_type;
48+
49+ /*
50+ * Since the VRAM for this FB is not allocated at the moment we don't need to
51+ * do any further parameter checking at this point.
52+ */
53+
54+ r = count;
55+out:
56+ omapfb_unlock(fbdev);
57+
58+ return r;
59+}
60+
61+
62 static ssize_t show_mirror(struct device *dev,
63 struct device_attribute *attr, char *buf)
64 {
65@@ -327,7 +367,7 @@ static ssize_t show_virt(struct device *dev,
66 }
67
68 static struct device_attribute omapfb_attrs[] = {
69- __ATTR(rotate_type, S_IRUGO, show_rotate_type, NULL),
70+ __ATTR(rotate_type, S_IRUGO | S_IWUSR, show_rotate_type, store_rotate_type),
71 __ATTR(mirror, S_IRUGO | S_IWUSR, show_mirror, store_mirror),
72 __ATTR(size, S_IRUGO | S_IWUSR, show_size, store_size),
73 __ATTR(overlays, S_IRUGO | S_IWUSR, show_overlays, store_overlays),
74--
751.5.6.5
76