kgsl_pwrscale: Rework policy sysfs implementation

In the current implementation, the pwrscale policy kobj is
created when the pwrscale driver initializes.  It is then added
to the kobj hierarchy when a governor adds sysfs files.

When a governor removes sysfs files, it frees the kobj.

Then, when a new governor starts up, it attempts to add an
uninitialized kobj.  This fails.

Instead, use a constant kobj for the policy directory,
and add governor-specific attributes under it.  If a
sysfs group is given a name, all attributes in the group
will appear in a subdirectory with that name (see cpufreq
governor tuning variables).  Use this approach for our
governor tuning.

TODO (possibly in a future patch) - Rework this so the
governor attributes can be groups attached directly to
the pwrscale kobj.

Change-Id: I7b8ae6d5e690ee107be037ccaf2e737e52062feb
board-8064-gpu: Increase bus freq at lowest GPU frequency

1000 MBPS is too low for a 1920x1080 panel.  This results in
major UI responsiveness issues when the GPU is at 128 MHz, and
odd behavior from the GPU load measurement algorithm - low load
reported despite awful performance.  At 1500 MBPS bus speed, UI
responsiveness issues at 128 MHz disappear and the GPU will scale
properly when it needs to.

Change-Id: Iea8008d1b106ec4dd172d479d68b99f5d10b3317
cpufreq_conservative: Improve support for micro idle accounting

The minimum samplerate calculations of the current conservative
implementation assume that there is not micro idle accounting present,
however, we do have that capability in our idle estimates.  As a result,
we can support lower polling intervals just like ondemand does.

Change-Id: I183d494a74a99d4c662554895f9eb6d9f4092162
Signed-off-by: Andrew Dodd <atd7@cornell.edu>
kgsl: Implement conservative scaling policy

This behaves similarly to the conservative cpufreq governor,
which is similar to how most Mali GPU scaling algorithms behave.

The "trustzone" policy that is default relies on an undocumented
black box to make scaling decisions.

How to enable:
echo conservative > /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/pwrscale/policy

Conservative attr group:
/sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/pwrscale/policy_config/conservative

Polling interval (10-1000):
/sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/pwrscale/policy_config/conservative/polling_interval

Enable stats printing (causes microlags on low polling intervals):
echo 1 > /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/pwrscale/policy_config/conservative/print_stats

NOTE:
- perms are set to 666 for testing purposes

Change-Id: I9d854a73981515fc9850104302804928b04c4687
Signed-off-by: Andrew Dodd <atd7@cornell.edu>
kgsl: conservative: change perms to 664

Change-Id: Ie023a6b0f3bf51c4c59030a79ae4ebbbce08201c
Odin: don't block FOCUS key in deep sleep

Fixes Peek functionality when you are unable to wake
the device with camera button until you depress it.

Change-Id: Ia169ea4e7b09c3e5efdbd6cec37b354fb69f869b
enable double tap to wake on dogo, yuga, odin

Change-Id: Ibfb46c93f750cfda565fb2271705c71ea8586591
Signed-off-by: Arnav Gupta <championswimmer@aokp.co>