コード例 #1
0
ファイル: kgsl_sharedmem.c プロジェクト: dimax754/msm_2.6.38
static ssize_t
process_show(struct kobject *kobj,
	     struct kobj_attribute *attr,
	     char *buf)
{
	struct kgsl_process_private *priv;
	unsigned int val = 0;

	mutex_lock(&kgsl_driver.process_mutex);
	priv = _get_priv_from_kobj(kobj);

	if (priv == NULL) {
		mutex_unlock(&kgsl_driver.process_mutex);
		return 0;
	}

	if (!strncmp(attr->attr.name, "user", 4))
		val = priv->stats.user;
	if (!strncmp(attr->attr.name, "user_max", 8))
		val = priv->stats.user_max;
	if (!strncmp(attr->attr.name, "mapped", 6))
		val = priv->stats.mapped;
	if (!strncmp(attr->attr.name, "mapped_max", 10))
		val = priv->stats.mapped_max;
	if (!strncmp(attr->attr.name, "flushes", 7))
		val = priv->stats.flushes;

	mutex_unlock(&kgsl_driver.process_mutex);
	return snprintf(buf, PAGE_SIZE, "%u\n", val);
}
コード例 #2
0
static ssize_t
process_show_flushes(struct kobject *kobj,
		   struct kobj_attribute *attr,
		   char *buf)
{
	struct kgsl_process_private *priv;
	int ret = 0;

	mutex_lock(&kgsl_driver.process_mutex);
	priv = _get_priv_from_kobj(kobj);

	if (priv)
		ret += sprintf(buf, "%d\n", priv->stats.flushes);

	mutex_unlock(&kgsl_driver.process_mutex);
	return ret;
}