# HG changeset patch # User Florian Pose # Date 1331919899 -3600 # Node ID 2536d60dea6e222ee7950a6c4283a22ae6cf8a8f # Parent dd84ef1648692bbc4c4c9bdad9a21773fa5311c4 Partial WC output in domains command. diff -r dd84ef164869 -r 2536d60dea6e master/cdev.c --- a/master/cdev.c Fri Mar 16 18:24:29 2012 +0100 +++ b/master/cdev.c Fri Mar 16 18:44:59 2012 +0100 @@ -537,6 +537,7 @@ { ec_ioctl_domain_t data; const ec_domain_t *domain; + unsigned int dev_idx; if (copy_from_user(&data, (void __user *) arg, sizeof(data))) { return -EFAULT; @@ -553,9 +554,9 @@ data.data_size = domain->data_size; data.logical_base_address = domain->logical_base_address; - data.working_counter = - domain->working_counter[EC_DEVICE_MAIN] - + domain->working_counter[EC_DEVICE_BACKUP]; + for (dev_idx = 0; dev_idx < EC_NUM_DEVICES; dev_idx++) { + data.working_counter[dev_idx] = domain->working_counter[dev_idx]; + } data.expected_working_counter = domain->expected_working_counter; data.fmmu_count = ec_domain_fmmu_count(domain); diff -r dd84ef164869 -r 2536d60dea6e master/ioctl.h --- a/master/ioctl.h Fri Mar 16 18:24:29 2012 +0100 +++ b/master/ioctl.h Fri Mar 16 18:44:59 2012 +0100 @@ -56,7 +56,7 @@ * * Increment this when changing the ioctl interface! */ -#define EC_IOCTL_VERSION_MAGIC 14 +#define EC_IOCTL_VERSION_MAGIC 15 // Command-line tool #define EC_IOCTL_MODULE EC_IOR(0x00, ec_ioctl_module_t) @@ -290,7 +290,7 @@ // outputs uint32_t data_size; uint32_t logical_base_address; - uint16_t working_counter; + uint16_t working_counter[EC_NUM_DEVICES]; uint16_t expected_working_counter; uint32_t fmmu_count; } ec_ioctl_domain_t; diff -r dd84ef164869 -r 2536d60dea6e tool/CommandDomains.cpp --- a/tool/CommandDomains.cpp Fri Mar 16 18:24:29 2012 +0100 +++ b/tool/CommandDomains.cpp Fri Mar 16 18:44:59 2012 +0100 @@ -136,6 +136,11 @@ ec_ioctl_domain_fmmu_t fmmu; unsigned int dataOffset; string indent(doIndent ? " " : ""); + unsigned int wc_sum = 0, dev_idx; + + for (dev_idx = 0; dev_idx < EC_NUM_DEVICES; dev_idx++) { + wc_sum += domain.working_counter[dev_idx]; + } cout << indent << "Domain" << dec << domain.index << ":" << " LogBaseAddr 0x" @@ -144,8 +149,14 @@ << ", Size " << dec << setfill(' ') << setw(3) << domain.data_size << ", WorkingCounter " - << domain.working_counter << "/" - << domain.expected_working_counter << endl; + << wc_sum << "/" + << domain.expected_working_counter; + if (EC_NUM_DEVICES == 2) { + cout << " (" << domain.working_counter[EC_DEVICE_MAIN] + << "+" << domain.working_counter[EC_DEVICE_BACKUP] + << ")"; + } + cout << endl; if (!domain.data_size || getVerbosity() != Verbose) return;