• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/drivers/s390/crypto/

Lines Matching defs:zdev

61 	struct zcrypt_device *zdev = to_ap_dev(dev)->private;
62 return snprintf(buf, PAGE_SIZE, "%s\n", zdev->type_string);
70 struct zcrypt_device *zdev = to_ap_dev(dev)->private;
71 return snprintf(buf, PAGE_SIZE, "%d\n", zdev->online);
78 struct zcrypt_device *zdev = to_ap_dev(dev)->private;
83 zdev->online = online;
85 ap_flush_queue(zdev->ap_dev);
106 static void __zcrypt_increase_preference(struct zcrypt_device *zdev)
111 if (zdev->speed_rating == 0)
113 for (l = zdev->list.prev; l != &zcrypt_device_list; l = l->prev) {
116 (zdev->request_count + 1) * zdev->speed_rating &&
120 if (l == zdev->list.prev)
122 /* Move zdev behind l */
123 list_del(&zdev->list);
124 list_add(&zdev->list, l);
132 static void __zcrypt_decrease_preference(struct zcrypt_device *zdev)
137 if (zdev->speed_rating == 0)
139 for (l = zdev->list.next; l != &zcrypt_device_list; l = l->next) {
142 (zdev->request_count + 1) * zdev->speed_rating ||
146 if (l == zdev->list.next)
148 /* Move zdev before l */
149 list_del(&zdev->list);
150 list_add_tail(&zdev->list, l);
155 struct zcrypt_device *zdev =
157 zcrypt_device_free(zdev);
160 void zcrypt_device_get(struct zcrypt_device *zdev)
162 kref_get(&zdev->refcount);
166 int zcrypt_device_put(struct zcrypt_device *zdev)
168 return kref_put(&zdev->refcount, zcrypt_device_release);
174 struct zcrypt_device *zdev;
176 zdev = kzalloc(sizeof(struct zcrypt_device), GFP_KERNEL);
177 if (!zdev)
179 zdev->reply.message = kmalloc(max_response_size, GFP_KERNEL);
180 if (!zdev->reply.message)
182 zdev->reply.length = max_response_size;
183 spin_lock_init(&zdev->lock);
184 INIT_LIST_HEAD(&zdev->list);
185 return zdev;
188 kfree(zdev);
193 void zcrypt_device_free(struct zcrypt_device *zdev)
195 kfree(zdev->reply.message);
196 kfree(zdev);
203 int zcrypt_device_register(struct zcrypt_device *zdev)
207 rc = sysfs_create_group(&zdev->ap_dev->device.kobj,
211 get_device(&zdev->ap_dev->device);
212 kref_init(&zdev->refcount);
214 zdev->online = 1; /* New devices are online by default. */
215 list_add_tail(&zdev->list, &zcrypt_device_list);
216 __zcrypt_increase_preference(zdev);
227 void zcrypt_device_unregister(struct zcrypt_device *zdev)
231 list_del_init(&zdev->list);
233 sysfs_remove_group(&zdev->ap_dev->device.kobj,
235 put_device(&zdev->ap_dev->device);
236 zcrypt_device_put(zdev);
278 struct zcrypt_device *zdev;
291 list_for_each_entry(zdev, &zcrypt_device_list, list) {
292 if (!zdev->online ||
293 !zdev->ops->rsa_modexpo ||
294 zdev->min_mod_size > mex->inputdatalength ||
295 zdev->max_mod_size < mex->inputdatalength)
297 zcrypt_device_get(zdev);
298 get_device(&zdev->ap_dev->device);
299 zdev->request_count++;
300 __zcrypt_decrease_preference(zdev);
301 if (try_module_get(zdev->ap_dev->drv->driver.owner)) {
303 rc = zdev->ops->rsa_modexpo(zdev, mex);
305 module_put(zdev->ap_dev->drv->driver.owner);
309 zdev->request_count--;
310 __zcrypt_increase_preference(zdev);
311 put_device(&zdev->ap_dev->device);
312 zcrypt_device_put(zdev);
322 struct zcrypt_device *zdev;
339 list_for_each_entry(zdev, &zcrypt_device_list, list) {
340 if (!zdev->online ||
341 !zdev->ops->rsa_modexpo_crt ||
342 zdev->min_mod_size > crt->inputdatalength ||
343 zdev->max_mod_size < crt->inputdatalength)
345 if (zdev->short_crt && crt->inputdatalength > 240) {
372 zcrypt_device_get(zdev);
373 get_device(&zdev->ap_dev->device);
374 zdev->request_count++;
375 __zcrypt_decrease_preference(zdev);
376 if (try_module_get(zdev->ap_dev->drv->driver.owner)) {
378 rc = zdev->ops->rsa_modexpo_crt(zdev, crt);
380 module_put(zdev->ap_dev->drv->driver.owner);
384 zdev->request_count--;
385 __zcrypt_increase_preference(zdev);
386 put_device(&zdev->ap_dev->device);
387 zcrypt_device_put(zdev);
397 struct zcrypt_device *zdev;
401 list_for_each_entry(zdev, &zcrypt_device_list, list) {
402 if (!zdev->online || !zdev->ops->send_cprb ||
404 AP_QID_DEVICE(zdev->ap_dev->qid) != xcRB->user_defined)
407 zcrypt_device_get(zdev);
408 get_device(&zdev->ap_dev->device);
409 zdev->request_count++;
410 __zcrypt_decrease_preference(zdev);
411 if (try_module_get(zdev->ap_dev->drv->driver.owner)) {
413 rc = zdev->ops->send_cprb(zdev, xcRB);
415 module_put(zdev->ap_dev->drv->driver.owner);
419 zdev->request_count--;
420 __zcrypt_increase_preference(zdev);
421 put_device(&zdev->ap_dev->device);
422 zcrypt_device_put(zdev);
432 struct zcrypt_device *zdev;
436 list_for_each_entry(zdev, &zcrypt_device_list, list)
437 status[AP_QID_DEVICE(zdev->ap_dev->qid)] =
438 zdev->online ? zdev->user_space_type : 0x0d;
444 struct zcrypt_device *zdev;
448 list_for_each_entry(zdev, &zcrypt_device_list, list) {
449 spin_lock(&zdev->ap_dev->lock);
450 qdepth[AP_QID_DEVICE(zdev->ap_dev->qid)] =
451 zdev->ap_dev->pendingq_count +
452 zdev->ap_dev->requestq_count;
453 spin_unlock(&zdev->ap_dev->lock);
460 struct zcrypt_device *zdev;
464 list_for_each_entry(zdev, &zcrypt_device_list, list) {
465 spin_lock(&zdev->ap_dev->lock);
466 reqcnt[AP_QID_DEVICE(zdev->ap_dev->qid)] =
467 zdev->ap_dev->total_request_count;
468 spin_unlock(&zdev->ap_dev->lock);
475 struct zcrypt_device *zdev;
479 list_for_each_entry(zdev, &zcrypt_device_list, list) {
480 spin_lock(&zdev->ap_dev->lock);
481 pendingq_count += zdev->ap_dev->pendingq_count;
482 spin_unlock(&zdev->ap_dev->lock);
490 struct zcrypt_device *zdev;
494 list_for_each_entry(zdev, &zcrypt_device_list, list) {
495 spin_lock(&zdev->ap_dev->lock);
496 requestq_count += zdev->ap_dev->requestq_count;
497 spin_unlock(&zdev->ap_dev->lock);
505 struct zcrypt_device *zdev;
509 list_for_each_entry(zdev, &zcrypt_device_list, list)
510 if (zdev->user_space_type == type)
956 struct zcrypt_device *zdev;
959 list_for_each_entry(zdev, &zcrypt_device_list, list)
960 if (AP_QID_DEVICE(zdev->ap_dev->qid) == index) {
961 zdev->online = 0;
962 ap_flush_queue(zdev->ap_dev);
970 struct zcrypt_device *zdev;
973 list_for_each_entry(zdev, &zcrypt_device_list, list)
974 if (AP_QID_DEVICE(zdev->ap_dev->qid) == index) {
975 zdev->online = 1;